在数据帧上使用转置后,总是有一个额外的行作为初始数据帧索引的余数,例如:
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)
因为旧索引不再被视为索引(只是另一行......)。
当我换向另一条路时,也发生了一个我无法删除的额外列。
任何提示?
答案 0 :(得分:3)
为什么不尝试设置所需的新索引,然后使用切片,而不是删除额外的索引?
步骤1:设置所需的新索引:
df.columns = df.iloc[0]
第2步:创建一个新的数据框,删除额外的行
df_new = df[1:]