У меня есть датафрейм для панд, как показано ниже:
device_id date
101 2018-10-30 10:42:32
101 2018-12-20 14:14:14
102 2018-09-26 14:21:33
102 2018-10-24 09:12:35
102 2018-11-12 04:52:21
Мой ожидаемый результат -
device_id date diff
101 2018-10-30 10:42:32 0
101 2018-12-20 14:14:14 51
102 2018-09-26 14:21:33 0
102 2018-10-24 09:12:35 28
102 2018-11-12 04:52:21 19
Я использовал следующий код:
df['exdate_1'] = df['date'].dt.date
df['exdate_1'] = df.groupby('device_id')['exdate_1'].apply(lambda x: x.sort_values())
df['diff'] = df.groupby('device_id')['exdate_1'].diff() / np.timedelta64(1, 'D')
но я получаю сообщение об ошибке, подобное следующему
TypeError: ufunc true_divide cannot use operands with types dtype('float64')
and dtype('<m8[D]')
Что не так в моем коде? Могу ли я использовать любой другой подход?