我想从pandas DataFrame获取列标题的列表。DataFrame来自用户输入,所以我不知道会有多少列或它们将被称为什么。例如,如果给我这样的DataFrame:>>> my_dataframe y gdp cap0 1 2 51 2 3 92 8 7 23 3 4 74 6 7 75 4 8 36 8 2 87 9 9 108 6 6 49 10 10 7我想要一个这样的列表:>>> header_list['y', 'gdp', 'cap']
3 回答

ITMISS
TA贡献1871条经验 获得超8个赞
您可以执行以下操作以列表形式获取值:
list(my_dataframe.columns.values)
您也可以简单地使用:(如Ed Chum的答案所示):
list(my_dataframe)

白板的微信
TA贡献1883条经验 获得超3个赞
做了一些快速测试,使用内置版本dataframe.columns.values.tolist()最快的也许并不奇怪:
In [1]: %timeit [column for column in df]
1000 loops, best of 3: 81.6 µs per loop
In [2]: %timeit df.columns.values.tolist()
10000 loops, best of 3: 16.1 µs per loop
In [3]: %timeit list(df)
10000 loops, best of 3: 44.9 µs per loop
In [4]: % timeit list(df.columns.values)
10000 loops, best of 3: 38.4 µs per loop
(list(dataframe)尽管我还是很喜欢,所以谢谢EdChum!)
添加回答
举报
0/150
提交
取消