Pandas是基于NumPy 的一种工具,该工具是为了解决数据分析任务而创建的。Pandas 纳入了大量库和一些标准的数据模型,提供了高效地操作大型数据集所需的工具。Pandas提供了大量能使我们快速便捷地处理数据的函数和方法。你很快就会发现,它是使Python成为强大而高效的数据分析环境的重要因素之一。本文主要介绍一下Pandas中pandas.DataFrame.itertuples方法的使用。

DataFrame.itertuples(self, index=True, name='Pandas')                         [source]

将DataFrame行迭代为namedtuple。

参数

index : bool,默认为True

如果为True,

则将索引作为元组的第一个元素返回。

name : strNone,默认为"Pandas"

返回的namedtuple的名称,

或者返回None以返回常规元组。

返回值

iterator

一个对象,用于遍历DataFrame中每一行的namedtuple,

第一个字段可能是索引,而后面的字段是列值。

Notes

如果列名是无效的Python标识符,重复出现或以下划线开头,则列名将重命名为位置名。具有大量列(> 255)时,将返回常规元组。

例子

>>> df = pd.DataFrame({'num_legs': [4, 2], 'num_wings': [0, 2]},
...                   index=['dog', 'hawk'])
>>> df
      num_legs  num_wings
dog          4          0
hawk         2          2
>>> for row in df.itertuples():
...     print(row)
...
Pandas(Index='dog', num_legs=4, num_wings=0)
Pandas(Index='hawk', num_legs=2, num_wings=2)

通过将index参数设置为False,我们可以删除索引作为元组的第一个元素:

>>> for row in df.itertuples(index=False):
...     print(row)
...
Pandas(num_legs=4, num_wings=0)
Pandas(num_legs=2, num_wings=2)

随着名称的参数设置,我们为取得namedtuples设置自定义名称:

>>> for row in df.itertuples(name='Animal'):
...     print(row)
...
Animal(Index='dog', num_legs=4, num_wings=0)
Animal(Index='hawk', num_legs=2, num_wings=2)