diff() 階差の使い方

この「1つ前のデータとの差分」のことを階差と呼びます。
pandasでは、diff()を使うと階差を簡単に計算できます。

ABC
05510
115-15100
2105-10510

Seriesのdiff()の結果はSeriesになります。列Aについて階差を求める場合、次のような結果になります。

# 列Aの階差(1つ前のデータとの差分)を求める
df["A"].diff()
0     NaN
1    10.0
2    90.0
Name: A, dtype: float64

最初の行は階差を取れないので、NaNになります。

https://images.pyq.jp/repo/prod/pandas_prepare_calc_v2/diff_series.jpg

引数periodsで、階差を取るデータの区間を指定できます。

たとえば2を指定すると、2つ前のデータとの階差を計算します。

https://images.pyq.jp/repo/prod/pandas_prepare_calc_v2/diff_periods=2.jpg

負の値も指定できます。-1を指定すると「-1つ前のデータ」つまり「1つのデータ」との階差を計算します。

https://images.pyq.jp/repo/prod/pandas_prepare_calc_v2/diff_periods=-1.jpg

DataFrameのdiff()では、各列または各行について階差を一括で計算します。結果はDataFrameになります。

他のメソッド同様、引数axisで処理の方向を指定可能です。

  • 0: 行方向の処理。1つ前のとの階差を計算する。
  • 1: 列方向の処理。1つ前のとの階差を計算する。

コメント

タイトルとURLをコピーしました