从熊猫数据框中删除标题列

新手上路,请多包涵

我有办法。数据框:

去向

   A   B
0  23  12
1  21  44
2  98  21

如何从此数据框中删除列名 AB ?一种方法可能是将其写入 csv 文件,然后在指定 header=None 的情况下读取它。有没有一种方法可以做到这一点而无需写出 csv 并重新阅读?

原文由 user308827 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 333
2 个回答

我认为你不能删除列名,只能通过 rangeshape 重置它们:

 print df.shape[1]
2

print range(df.shape[1])
[0, 1]

df.columns = range(df.shape[1])
print df
    0   1
0  23  12
1  21  44
2  98  21

这与使用 to_csvread_csv 相同:

 print df.to_csv(header=None,index=False)
23,12
21,44
98,21

print pd.read_csv(io.StringIO(u""+df.to_csv(header=None,index=False)), header=None)
    0   1
0  23  12
1  21  44
2  98  21

下一个解决方案 skiprows

 print df.to_csv(index=False)
A,B
23,12
21,44
98,21

print pd.read_csv(io.StringIO(u""+df.to_csv(index=False)), header=None, skiprows=1)
    0   1
0  23  12
1  21  44
2  98  21

原文由 jezrael 发布,翻译遵循 CC BY-SA 3.0 许可协议

如何去掉标题(第一行)和索引(第一列)。

要写入 CSV 文件:

 df = pandas.DataFrame(your_array)
df.to_csv('your_array.csv', header=False, index=False)

从 CSV 文件读取:

 df = pandas.read_csv('your_array.csv')
a = df.values

如果要读取不包含标题的 CSV 文件,请传递附加参数 header

 df = pandas.read_csv('your_array.csv', header=None)

原文由 Max 发布,翻译遵循 CC BY-SA 3.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题