Pandas groupby dataframe,取最新日期和最早日期之间的差值

Pandas groupby dataframe,取最新日期和最早日期之间的差值,pandas,pandas-groupby,difference,Pandas,Pandas Groupby,Difference,我有一个累积列,我想groupby索引,取最晚日期对应的值减去最早日期对应的值 与此非常相似: 但要考虑各组中最晚和最早的差异 我是python新手,下面是我的解决方案: import pandas as pd from io import StringIO csv = StringIO("""index id product date 0 220 6647 2014-09-01 1 220 6647 2014-09-03 2 22

我有一个累积列,我想
groupby
索引,取最晚日期对应的值减去最早日期对应的值

与此非常相似:


但要考虑各组中最晚和最早的差异

我是python新手,下面是我的解决方案:

import pandas as pd
from io import StringIO

csv = StringIO("""index    id     product   date
0   220    6647     2014-09-01 
1   220    6647     2014-09-03 
2   220    6647     2014-10-16
3   826    3380     2014-11-11
4   826    3380     2014-12-09
5   826    3380     2015-05-19
6   901    4555     2014-09-01
7   901    4555     2014-10-05
8   901    4555     2014-11-01""")

df = pd.read_table(csv, sep='\s+',index_col='index')
df['date']=pd.to_datetime(df['date'],errors='coerce')

df_sort=df.sort_values('date')
df_sort.drop(['product'], axis=1,inplace=True)

df_sort.groupby('id').tail(1).set_index('id')-df_sort.groupby('id').head(1).set_index('id')

请研究有关stackoverflow的其他问题。有一种更好的提问方式。自己提供一些例子。(刚才回答这个问题的人也帮不了什么忙。)