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的其他问题。有一种更好的提问方式。自己提供一些例子。(刚才回答这个问题的人也帮不了什么忙。)