【毎日Python】Pythonでデータフレームの行ごと・列ごとの差を取得する方法|DataFrame.diff

diff
こつこつPython

Pythonでデータフレームの行ごと・列ごとの差を取得する方法です。
使用するのは、PythonのPandasライブラリのdiffメソッドです。
このようなデータフレームを使用します。

import pandas as pd

df = pd.DataFrame({'A': (100, 150, 200), 
                   'B': (200, 250, 300),
                   'C': (130, 210, 180), 
                   'D': (300, 410, 290)})
df

実行結果:
main_df

まず、diffメソッドの引数に何も指定せずに実行してみましょう。
1行前の値との差を取得することができました。
例えば、2行目は、1行目との差が各要素の値となっています。
なお、1行目は、前の行が存在しないため差を算出することができず、欠損値となります。

df.diff()

実行結果:
df01

次に、差を取得する行を指定してみましょう。
引数に2を指定して実行します。
2行前の値との差を取得することができました。

df.shift(2)

実行結果:
df02

最後に、列方向で試してみましょう。
引数にaxis=1を指定して実行します。
1列前の値との差を取得することができました。

df.shift(axis=1)

実行結果:
df03

関連メソッド

【毎日Python】Pythonでデータフレームのデータをずらす方法|DataFrame.shift

未経験からはじめるPython学習「キノクエスト」 キノクエスト
  • スキルアップしたいけど何からはじめればよいかわからない…
  • プログラミングスクールに入りたいけど料金が高い…
  • プログラミングを学んでも業務やキャリアに活かせるか不安…

キノクエストは、このような悩みを持つ方にぴったりのプログラミング学習サービスです。
国内最大級のプログラミング学習系YouTubeチャンネル「キノコード」が提供しているから、未経験者にもわかりやすく質の高い学習体験を実感していただけます。

キノクエスト