「Python」DataFrame.iterrows()メソッドでpandas.DataFrameのデータを1列ずつ取り出す

環境
Python 3.9.13
Windows 11 Pro 21H2 64bit
PyCharm 2022.2.1 (Community Edition)

構文
変数名 = pd.DataFrame({カラム名: [値1, 値2],…])
変数名.iterrows()
forループの形式
for index変数, row in 変数名.iterrows():
iterrows()メソッドを使うと、インデックス名(行名)とその行のデータ(pandas.Series型)の
タプル(index, Series)を1行ずつ取得できます。

使用例

import pandas as pd
import numpy as np

df = pd.DataFrame({'age': [24, 42], 'city': ['東京', '大阪'], 'score': [74, 82]},
                  index=['山田', '大崎'])
print("pandas.DataFrameをそのままforループに適用する結果")

for index, row in df.iterrows():
    print(index)
    print('************************')
    print(type(row))
    print(row)
    print('**********************')
    print(row[0], row['age'], row.age)
    print(row[1], row['city'], row.city)
    print(row[2], row['score'], row.score)
    print('========================\n')

実行結果

pandas.DataFrameをそのままforループに適用する結果
山田
************************
<class 'pandas.core.series.Series'>
age      24
city     東京
score    74
Name: 山田, dtype: object
**********************
24 24 24
東京 東京 東京
74 74 74
========================

大崎
************************
<class 'pandas.core.series.Series'>
age      42
city     大阪
score    82
Name: 大崎, dtype: object
**********************
42 42 42
大阪 大阪 大阪
82 82 82
========================

 

Python

Posted by arkgame