Pandas.DataFrame 的 iterrows()方法详解

转自小时代 ·

Pandas的基础结构可以分为两种:数据框和序列。

数据框(DataFrame)是拥有轴标签的二维链表,换言之数据框是拥有标签的行和列组成的矩阵 - 列标签位列名,行标签为索引。Pandas中的行和列是Pandas序列 - 拥有轴标签的一维链表。

iterrows() 是在数据框中的行进行迭代的一个生成器,它返回每行的索引及一个包含行本身的对象。

所以,当我们在需要遍历行数据的时候,就可以使用 iterrows()方法实现了。

示例代码

import pandas as pd
import numpy as np
df = pd.DataFrame(np.random.randn(10, 4), columns=list('ABCD'))
df

输出结果:


o_1cs2sggeq1q651dbguvbup91nsu8 (1).jpg

遍历行:

In [7]: for index, row in df.iterrows():
   ...:     print(index)
   ...:     print(row)
   ...:
   ...:
0
A    1.035275
B   -0.934941
C    0.701911
D   -0.209808
Name: 0, dtype: float64
1
A    1.074598
B    0.290134
C    0.467647
D    0.055755
Name: 1, dtype: float64
2
A    1.105065
B    0.382066
C    0.109165
D    0.885094
Name: 2, dtype: float64
3
A   -1.099364
B    0.684819
C    0.689329
D    0.062511
Name: 3, dtype: float64
4
A   -1.122914
B   -1.187126
C   -1.853359
D    0.312347
Name: 4, dtype: float64
5
A   -0.994756
B    0.177015
C    0.242378
D    0.070920
Name: 5, dtype: float64
6
A    0.599306
B   -1.269138
C    0.704013
D    0.003814
Name: 6, dtype: float64
7
A   -1.964408
B    0.237215
C    0.326020
D    0.081806
Name: 7, dtype: float64
8
A   -1.031995
B   -1.046309
C   -1.561813
D    0.762392
Name: 8, dtype: float64
9
A   -0.494900
B    0.267476
C   -0.967902
D    0.612254
Name: 9, dtype: float64

推荐阅读更多精彩内容