首页 > Python > 从 Pandas DataFrame 列标题获取列表

从 Pandas 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']

分割线

网友回答:

我做了一些快速测试,也许不出所料,内置版本是最快的: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)

对于那些讨厌打字的人,你可以调用 ,如下所示:listdf

list(df)

模板简介:该模板名称为【从 Pandas DataFrame 列标题获取列表】,大小是暂无信息,文档格式为.编程语言,推荐使用Sublime/Dreamweaver/HBuilder打开,作品中的图片,文字等数据均可修改,图片请在作品中选中图片替换即可,文字修改直接点击文字修改即可,您也可以新增或修改作品中的内容,该模板来自用户分享,如有侵权行为请联系网站客服处理。欢迎来懒人模板【Python】栏目查找您需要的精美模板。

相关搜索
  • 下载密码 lanrenmb
  • 下载次数 207次
  • 使用软件 Sublime/Dreamweaver/HBuilder
  • 文件格式 编程语言
  • 文件大小 暂无信息
  • 上传时间 03-30
  • 作者 网友投稿
  • 肖像权 人物画像及字体仅供参考
栏目分类 更多 >
热门推荐 更多 >
单页式简历模板 微信图片 响应式 微信文章 html5 微信公众平台 自适应 微信模板 微信素材 企业网站
您可能会喜欢的其他模板