我想从熊猫数据帧获取列标题的列表。数据帧将来自用户输入,因此我不知道将有多少列或它们将被称为什么。
例如,如果给我一个这样的数据帧:
>>> 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']
网友回答:
我做了一些快速测试,也许不出所料,内置版本是最快的: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
(我仍然非常喜欢,所以谢谢EdChum!list(dataframe)
网友回答:
您可以通过执行以下操作以列表形式获取值:
list(my_dataframe.columns.values)
您也可以简单地使用(如Ed Chum的答案所示):
list(my_dataframe)
网友回答:
有一个性能最高的内置方法:
my_dataframe.columns.values.tolist()
.columns
返回一个 ,返回一个数组,它有一个帮助程序函数来返回列表。Index
.columns.values
.tolist
如果性能对您来说不那么重要,则对象定义一个可以直接调用的方法: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)
模板简介:该模板名称为【从 Pandas DataFrame 列标题获取列表】,大小是暂无信息,文档格式为.编程语言,推荐使用Sublime/Dreamweaver/HBuilder打开,作品中的图片,文字等数据均可修改,图片请在作品中选中图片替换即可,文字修改直接点击文字修改即可,您也可以新增或修改作品中的内容,该模板来自用户分享,如有侵权行为请联系网站客服处理。欢迎来懒人模板【Python】栏目查找您需要的精美模板。