「Python3.9」DataFrame.itertuples()メソッドでデータのタプルを1行ずつ取得する
環境
Python 3.9.13
Windows 11 Pro 21H2 64bit
PyCharm 2022.2.1 (Community Edition)
構文
変数名1 = pd.DataFrame({カラム名: [値1, 値2],…])
for 変数名2 in 変数名.itertuples():
処理コード
DataFrame.itertuples()メソッド
itertuples()メソッドを使うと、インデックス名(行名)とその行のデータのタプルを1行ずつ取得できます。
タプルの最初の要素がインデックス名となります。
デフォルトではPandasという名前のnamedtupleを返します。
使用例
import pandas as pd import numpy as np df = pd.DataFrame({'age': [24, 42], 'city': ['東京', '大阪'], 'score': [74, 82]}, index=['山田', '大崎']) print("pandas.DataFrameをそのままforループに適用する結果") for row in df.itertuples(): print(type(row)) print(row) print('------') print(row[0], row.Index) print(row[1], row.age) print(row[2], row.city) print(row[3], row.score) print('======\n')
実行結果
pandas.DataFrameをそのままforループに適用する結果 <class 'pandas.core.frame.Pandas'> Pandas(Index='山田', age=24, city='東京', score=74) ------ 山田 山田 24 24 東京 東京 74 74 ====== <class 'pandas.core.frame.Pandas'> Pandas(Index='大崎', age=42, city='大阪', score=82) ------ 大崎 大崎 42 42 大阪 大阪 82 82