「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

 

Python

Posted by arkgame