我有一个像下面的熊猫数据帧..
item_id date
101 2016-01-05
101 2016-01-21
121 2016-01-08
121 2016-01-22
128 2016-01-19
128 2016-02-17
131 2016-01-11
131 2016-01-23
131 2016-01-24
131 2016-02-06
131 2016-02-07
我想计算日期列之间的天差,但是关于 item_id
列 . 首先,我想在item_id上使用日期分组对数据帧进行排序 . 它看起来应该是这样的
item_id date
101 2016-01-05
101 2016-01-08
121 2016-01-21
121 2016-01-22
128 2016-01-17
128 2016-02-19
131 2016-01-11
131 2016-01-23
131 2016-01-24
131 2016-02-06
131 2016-02-07
然后我想计算再次分组的日期之间的差异 item_id
所以输出应该如下所示
item_id date day_difference
101 2016-01-05 0
101 2016-01-08 3
121 2016-01-21 0
121 2016-01-22 1
128 2016-01-17 0
128 2016-02-19 2
131 2016-01-11 0
131 2016-01-23 12
131 2016-01-24 1
131 2016-02-06 13
131 2016-02-07 1
为了排序,我使用了这样的东西
df.groupby('item_id').apply(lambda x: new_df.sort('date'))
但是,它没有成功 . 我可以通过以下方法计算连续行之间的差异
(df['date'] - df['date'].shift(1))
但是不能用 item_id
进行分组
1 回答
我想你可以用: