在数据帧上使用转置后,总会有一个额外的行作为初始数据帧的索引的余数,例如:

import pandas as pd

df = pd.DataFrame({'fruit':['apple','banana'],'number':[3,5]})
df
    fruit  number
0   apple       3
1  banana       5
df.transpose()
        0       1
fruit   apple  banana
number      3       5

即使我没有索引:
df.reset_index(drop = True, inplace = True)
df
    fruit  number
0   apple       3
1  banana       5

df.transpose()
        0       1
fruit   apple  banana
number      3       5

问题是,当我通过以下方式将数据帧保存到csv文件中时:
df.to_csv(f)

这多余的行位于顶部,我每次必须手动将其删除。

同样,这不起作用:
 df.to_csv(f, index = None)

因为旧索引不再被视为索引(只是另一行...)。

当我换了另一种方式时,它也发生了,我得到了一个我无法删除的额外的列。

有小费吗?

最佳答案

我遇到了同样的问题,我在执行transpose之前通过重置索引解决了该问题。我的意思是df.set_index('fruit').transpose():

import pandas as pd

df = pd.DataFrame({'fruit':['apple','banana'],'number':[3,5]})
df
    fruit   number
0   apple   3
1   banana  5
df.set_index('fruit').transpose()给出:
fruit   apple   banana
number  3       5

关于python - 如何在Pandas中的transpose()之后删除多余的行(或列),我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/38148877/

10-11 07:11