根据组标准熊猫分组降低值

时间:2018-09-20 14:22:08

标签: python pandas lambda pandas-groupby

我有一个由以下内容产生的数据的数据框:

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())

但这会引发错误。有什么好方法吗?

1 个答案:

答案 0 :(得分:2)

您可以尝试(假设日期已排序)

df.groupby(level=[0,1]).apply(lambda x : x.iloc[1:,:])