Python 将数据帧中的每一行减去前一行
我有这样一个数据帧:Python 将数据帧中的每一行减去前一行,python,pandas,Python,Pandas,我有这样一个数据帧: Day 123 126 210 230 我想创建一个新的列,将每一行减去前一行。我试过这个: df['Diff']=df.set_index('Day').diff() 但这似乎并不正确 我期望的输出是: Day Diff 123 0 126 3 210 84 230 20 您不需要将日期设置为该日期的索引: In [55]: df.Day.diff().fillna(0) Out[55]: 0 0.0 1 3.0 2 84
Day
123
126
210
230
我想创建一个新的列,将每一行减去前一行。我试过这个:
df['Diff']=df.set_index('Day').diff()
但这似乎并不正确
我期望的输出是:
Day Diff
123 0
126 3
210 84
230 20
您不需要将
日期设置为该日期的索引:
In [55]: df.Day.diff().fillna(0)
Out[55]:
0 0.0
1 3.0
2 84.0
3 20.0
Name: Day, dtype: float64
或者,如果您只有一列:
In [56]: df.diff()
Out[56]:
Day
0 NaN
1 3.0
2 84.0
3 20.0
如果需要整数:
In [58]: df.diff().fillna(0).astype(int)
Out[58]:
Day
0 0
1 3
2 84
3 20