Mam dataframe pandy jak po ..Jak obliczyć dzień na różnicę między kolejnymi rzędami pandy dataframe warunku
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
Chcę obliczyć różnicę dni pomiędzy datą kolumnie, lecz w odniesieniu do item_id
kolumnie. Najpierw chcę posortować ramkę danych z grupowaniem dat na item_id. Powinien on wyglądać następująco
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
Następnie chcę obliczyć różnicę między datami znowu grupujące na item_id
Więc wyjście powinno wyglądać po
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
do sortowania Kiedyś coś jak ten
df.groupby('item_id').apply(lambda x: new_df.sort('date'))
Ale to się nie udało. Jestem w stanie obliczyć różnicę między kolejnymi rzędami wykonując
(df['date'] - df['date'].shift(1))
ale nie do grupowania z item_id
chcesz 'df.groupby ('item_id') ['date']. diff() ' – EdChum