在一个命令中从数据框中删除多个系列

新手上路,请多包涵

简而言之…我有一个 Python Pandas 数据框,它是使用“read_table”从 Excel 文件中读取的。我想从数据中保留少数系列,并清除其余部分。我知道我可以使用“del data[‘SeriesName’]’ 逐一删除我不想要的内容,但我更愿意做的是指定要保留的内容,而不是指定要删除的内容。

如果最简单的答案是将现有数据框复制到一个只包含我想要的系列的新数据框中,然后将现有数据框全部删除,我会对这个解决方案感到满意……但如果这确实是最好的方式,有人可以引导我完成它吗?

TIA …我是 Pandas 的新手。 :)

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

阅读 446
1 个回答

您可以使用 DataFrame drop 函数删除列。您必须传递 axis=1 选项才能在列而不是行上工作。请注意,它返回一个副本,因此您必须将结果分配给一个新的 DataFrame

 In [1]: from pandas import *

In [2]: df = DataFrame(dict(x=[0,0,1,0,1], y=[1,0,1,1,0], z=[0,0,1,0,1]))

In [3]: df
Out[3]:
   x  y  z
0  0  1  0
1  0  0  0
2  1  1  1
3  0  1  0
4  1  0  1

In [4]: df = df.drop(['x','y'], axis=1)

In [5]: df
Out[5]:
   z
0  0
1  0
2  1
3  0
4  1

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

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