「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 ========================