当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Python Pandas DataFrame iterrows方法用法及代码示例


Pandas DataFrame.iterrows() 方法用于迭代源 DataFrame 中的所有行名称 ( object ) 和行值 ( Series ) 对。

参数

方法iterrows() 不带任何参数。

返回值

row_name ( object ) 和 content ( Series ) 的迭代器。

警告

请勿在循环内修改row_namecontent,因为源DataFrame 可能会也可能不会被修改。

例子

基本用法

考虑以下 DataFrame :

df = pd.DataFrame({"A":["a","b"],"B":["c","d"]})
df



   A  B
0  a  c
1  b  d

迭代行:

for row_name, content in df.iterrows():
   print("row_name:", row_name)
   print(content)



row_name: 0
A    a
B    c
Name: 0, dtype: object

row_name: 1
A    b
B    d
Name: 1, dtype: object

强制铸造

iterrows(~) 方法以 Series 形式返回行值。当您的行值包含多种数据类型时,这可能会出现问题,因为 Series 只能保存一种数据类型。为了解决这个问题,iterrows() 选择可以容纳所有行值的数据类型。

例如,考虑以下 DataFrame:

df = pd.DataFrame({"A":[1,2],"B":[3.0,4.0]})
df



   A  B
0  1  3.0
1  2  4.0

此处,第一列的类型为 int ,第二列的类型为 float

我们迭代行:

for row_name, content in df.iterrows():
   print("row_name:", row_name)
   print(content)



row_name: 0
A    1.0
B    3.0
Name: 0, dtype: float64

row_name: 1
A    2.0
B    4.0
Name: 1, dtype: float64

请注意 A 列对应的值是如何从 int 转换为 float 的。这是因为 floatint 更通用。

相关用法


注:本文由纯净天空筛选整理自Isshin Inada大神的英文原创作品 Pandas DataFrame | iterrows method。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。