我正在使用看起来像这样的pandas df:
ID time
34 43
2 99
2 20
34 8
2 90
创建变量的最佳方法是什么,它表示与每个ID的最近时间的差异?
ID time diff
34 43 35
2 99 9
2 20 NA
34 8 NA
2 90 70
答案 0 :(得分:3)
这是一种可能性
df["diff"] = df.sort_values("time").groupby("ID")["time"].diff()
df
ID time diff
0 34 43 35.0
1 2 99 9.0
2 2 20 NaN
3 34 8 NaN
4 2 90 70.0