如何将 pandas dataframe 列标题获取为列表-ag捕鱼王app官网

如何将 pandas dataframe 列标题获取为列表

作者:迹忆客 最近更新:2024/04/22 浏览次数:

pandas 是用于 python 数据分析的开源软件包。pandas.dataframe 是主要的 pandas 数据结构。它是带有标签轴(行和列)的二维表格数据结构。

我们今天来介绍如何从 dataframe 对象获取列标题的列表。

我们将在本教程的所有其他代码示例中使用相同的如下面定义的 dataframe 对象。

>>> import pandas
>>> cities = {
...   'name': ['new york', 'los angeles', 'chicago'],
...   'population': [8601186, 4057841, 2679044],
...   'state': ['ny', 'ca', 'il'],
... }
>>> data_frame = pandas.dataframe(cities)

获取 dataframe 列名的一种方法是迭代 dataframe 对象本身。dataframe 迭代器按定义顺序返回列名。

>>> for column in data_frame:
...   print(column)
...
name
population
state

当需要将可迭代对象转换为列表时,可以在其上调用 python 的内置 list 函数。

>>> list(data_frame)
['name', 'population', 'state']

但是,此方法的性能很慢。

>>> from timeit import timeit
>>> timeit(lambda: list(data_frame))
7.818843764999997

我们还可以从 dataframe.columns 属性访问其列。

>>> list(data_frame.columns)
['name', 'population', 'state']

否则,我们可以使用 dataframe.columns.tolist() 函数来实现相同的目的。

>>> data_frame.columns.tolist()
['name', 'population', 'state']

这两种方法的性能都不是特别好。

>>> timeit(lambda: list(data_frame.columns))
7.143133517000024
>>> timeit(lambda: data_frame.columns.tolist())
6.064925153999866

遍历 dataframe.columns.values 属性时,事情发生了很大变化。同样,与 dataframe 对象和 dataframe.columns 属性一样,我们可以使用它来获取一系列 dataframe 列名。

>>> list(data_frame.columns.values)
['name', 'population', 'state']

与以前的方法相比,此方法的性能提高了 5 到 6 倍。

>>> timeit(lambda: list(data_frame.columns.values))
1.301724927000123

但是,如果使用内置 dataframe.columns.values.tolist() 方法,则可以实现最佳运行时间。

>>> data_frame.columns.values.tolist()
['name', 'population', 'state']
>>> timeit(lambda: data_frame.columns.values.tolist())
0.6860591469999235

如我们所见,这种方法的性能比直接在 dataframe 对象上进行迭代要好十倍。大多数读者会对这种性能差异背后的原因感到好奇。

答案隐藏在 dataframe.columns.values 属性的数据类型中。这是一个 numpy 数组。numpy 是用于科学计算的 python 软件包,维护人员会对其性能进行高度优化。

pandas 构建在 numpy 之上,并提供了方便的高级抽象。因此,在较低级别的 numpy 数据结构上执行直接操作几乎总是比在 pandas 较高级别的数据结构上执行类似操作快。

转载请发邮件至 1244347461@qq.com 进行申请,经作者同意之后,转载请以链接形式注明出处

本文地址:

相关文章

pandas read_csv()函数

发布时间:2024/04/24 浏览次数:254 分类:python

pandas read_csv()函数将指定的逗号分隔值(csv)文件读取到 dataframe 中。

pandas 追加数据到 csv 中

发布时间:2024/04/24 浏览次数:352 分类:python

本教程演示了如何在追加模式下使用 to_csv()向现有的 csv 文件添加数据。

pandas 多列合并

发布时间:2024/04/24 浏览次数:628 分类:python

本教程介绍了如何在 pandas 中使用 dataframe.merge()方法合并两个 dataframes。

pandas loc vs iloc

发布时间:2024/04/24 浏览次数:837 分类:python

本教程介绍了如何使用 python 中的 loc 和 iloc 从 pandas dataframe 中过滤数据。

扫一扫阅读全部技术教程

社交账号
  • https://www.github.com/onmpw
  • qq:1244347461

最新推荐

教程更新

热门标签

扫码一下
查看教程更方便
网站地图