我有一个像这样的数据框:
Day
123
126
210
230
我想创建一个新列,它按前面的一行减去每一行。我试过这个:
df['Diff']=df.set_index('Day').diff()
但这似乎不正确。
我想要的输出是:
Day Diff
123 0
126 3
210 84
230 20
答案 0 :(得分:2)
您无需将Day
设置为该索引:
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