Как при отнятии от текущего значения предыдущие, пропустить NaN Python

Как при отнятии от текущего значения предыдущие, пропустить NaN. Делая таким методом желаемый результат не получается.

df = pd.DataFrame(data={'A': [0, 2, 3, np.nan, 8,  np.nan, np.nan, 12, 20]})
df
Out[102]: 
      A
0   0.0
1   2.0
2   3.0
3   NaN
4   8.0
5   NaN
6   NaN
7  12.0
8  20.0

df-df.shift(1)
Out[103]: 
     A
0  NaN
1  2.0
2  1.0
3  NaN
4  NaN
5  NaN
6  NaN
7  NaN
8  8.0

Нужно что бы получилось вот так:

Out[105]: 
     A
0  0.0
1  2.0
2  1.0
3  NaN
4  5.0
5  NaN
6  NaN
7  4.0
8  8.0

Ответы (0 шт):