1. ホーム
  2. pandas

pandasで連続した行の差の結果をカラムに追加する

2023-09-07 15:04:30

質問

次のようなデータフレームがあるとします。

    A   B
0   a   b
1   c   d
2   e   f 
3   g   h

0,1,2,3は時間、a, c, e, gはある時系列、b, d, f, hは別の時系列です。 ある列の連続した行の差を計算することによって得られる元のデータフレームに、2つの列を追加することができる必要があります。

だから私は次のようなものが必要です。

    A   B   dA
0   a   b  (a-c)
1   c   d  (c-e)
2   e   f  (e-g)
3   g   h   Nan

dataframe/seriesのdiffというものを見ましたが、これは最初の要素がNanになるというように、少し異なる動作をします。

どのように解決するのですか?

使用方法 シフト .

df['dA'] = df['A'] - df['A'].shift(-1)