上流SEが久しぶりに開発してみる日記

マネジメント専任システムエンジニアがなれないプログラミングをしてみる日記です。

python データフレームのデータをfor文で1件ずつ処理したい

データフレームのデータを1件ずつ処理したいのですが、

データフレームを行指定してデータを取得する必要があります。

 

今回は指定した行だけで完結せずに前後の行も参照しながら処理をしたいです。

 

 

 

調べてみるとやり方はいっぱいありそう。

 

 

汚いけどこんな感じで動きました。

ilocを使うと行番号を指定して、対象行を抽出できます。

locは行ラベル指定みたいですね。

 

import pandas as pd

#差分計算
sabun = []
for i in range(len(df)-1):
sabun.append(int(df['値'].iloc[i]-df['値'].iloc[i+1]))

 

 

dfを1件ずつ処理しています。

差分を取得するために、ilocで行を指定して計算して差分を取得して配列に入れています。

 

調べてみるともっとスマートな扱い方がありそうですが、

いったんこれで十分動いたので問題ないかと思います。