pandas入門 DataFrameのループ処理

ここではDataFrameのループ処理について学習します。

iterrows 1行ずつ処理する

時系列データなどを扱う際、1行ずつなんらかの指標を計算することがよくあると思います。

DataFrameを1行ずつ処理する場合はDataFrameのiterrows()メソッドを使用します。

このメソッドでループする場合、indexと行が同時に取得できる点が特徴的です。

以下、サンプルです。

import pandas as pd
df = pd.DataFrame([[1, 10], [2, 20], [3, 30], [4, 40]], columns=['col1', 'col2'])

for index, row in df.iterrows():
    print(row['col1'], row['col2'])

上のコードのrowはSeries型のオブジェクトである点に注意してください。

iteritems 一列ずつ処理する

iteritems()メソッドを使用すると一列ずつ処理を行うことができます。

例えば、列ごとに合計を計算する場合は以下のようにします。(もっともこの程度だとdf.sum()で算出可能ですが。)

import pandas as pd
df = pd.DataFrame([[1, 10], [2, 20], [3, 30], [4, 40]], columns=['col1', 'col2'])

for index, col in df.iteritems():
    print(sum(col))