當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


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。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。