我有一个由以下内容产生的数据的数据框:
df2 = df.groupby(['City','Address','date_time'])['house_price'].mean().pct_change()
City Address Date Pct Ch
Washington, D.C. 111 S Street Appletown 2018-08-03 0.298077
2018-08-11 0.000000
2018-08-17 0.000000
2018-09-07 0.000000
2018-09-17 0.000000
2018-09-20 0.000000
222 S Street Appletown 2018-08-07 0.125926
2018-08-11 0.000000
2018-08-17 0.000000
2018-09-07 0.000000
2018-09-17 0.000000
2018-09-20 0.000000
我想删除每个组中的最少日期(111 S Street Appletown为2018-08-03; 222 S Street为2018-08-07)。
我尝试过
df2 = df.groupby(['City','Address','date_time'])['house_price'].mean().pct_change().filter(lambda x: x['date_time']> x['date_time'].min())
但这会引发错误。有什么好方法吗?
答案 0 :(得分:2)
您可以尝试(假设日期已排序)
df.groupby(level=[0,1]).apply(lambda x : x.iloc[1:,:])