在数据帧上使用转置后,总会有一个额外的行作为初始数据帧的索引的余数,例如:
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/