我得到dataframe
如下:
print(df)
id day
1 1
2 3
1 3
3 5
2 6
3 7
# Calculate the time delta of the same id which has a result as follows:
id day day_delta_next day_delta_prev
1 1 2 0
2 3 3 0
1 3 1 -2
3 5 2 0
2 6 0 -3
3 7 0 -2
1 4 0 -1
我想构造2列,分别由对应于下一个和上一个的天增量组成。
我以前想过的是根据相应的id构造第二天的列,然后减去这两列来得到我想要的。
但我想知道是否有方便的方法。
所以如果不介意有人可以帮助我吗?
预先感谢。
答案 0 :(得分:2)
将DataFrameGroupBy.shift
与Series.sub
相减,并将缺失值替换为Series.fillna
:
@Id
@SequenceGenerator(name = "someSeq", sequenceName ="SOME_SEQ", initialValue=1002)
@GeneratedValue(strategy = GenerationType.SEQUENCE, generator="someSeq")
private Integer id;