从 Pandas DataFrame 列标题中获取列表

新手上路,请多包涵

我想从 Pandas DataFrame 中获取列标题列表。 DataFrame 将来自用户输入,所以我不知道会有多少列或它们将被调用什么。

例如,如果给我一个这样的 DataFrame:

 >>> my_dataframe
    y  gdp  cap
0   1    2    5
1   2    3    9
2   8    7    2
3   3    4    7
4   6    7    7
5   4    8    3
6   8    2    8
7   9    9   10
8   6    6    4
9  10   10    7

我会得到这样的列表:

 >>> header_list
['y', 'gdp', 'cap']

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

阅读 650
2 个回答

您可以通过执行以下操作将值作为列表获取:

 list(my_dataframe.columns.values)

您也可以简单地使用(如 Ed Chum 的回答 所示):

 list(my_dataframe)

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

有一个内置的方法是性能最高的:

 my_dataframe.columns.values.tolist()

.columns returns an Index , .columns.values returns an array and this has a helper function .tolist to return a list.

如果性能对你来说不是那么重要, Index 对象定义了一个 .tolist() 你可以直接调用的方法:

 my_dataframe.columns.tolist()

性能上的差异是显而易见的:

 %timeit df.columns.tolist()
16.7 µs ± 317 ns per loop (mean ± std. dev. of 7 runs, 100000 loops each)

%timeit df.columns.values.tolist()
1.24 µs ± 12.3 ns per loop (mean ± std. dev. of 7 runs, 1000000 loops each)


对于那些讨厌打字的人,您可以在 list df ,如下所示:

 list(df)

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

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