【发布时间】:2017-05-08 05:02:51
【问题描述】:
我需要按year、place 和price 的间隔对数据进行分组(步长为5)。对于每个组我想估计中位数level
df =
year place price level
1994 AAA 90 1
1993 BBB 89 1
1994 AAA 91 2
1998 AAA 92 3
1990 BBB 80 0
1994 AAA 90 1
1990 BBB 81 0
1991 BBB 92 1
我可以对数据进行分组并计算level的中值,但是我不知道如何添加price的区间:
grouped_df = df.groupby(["year","place"]).agg({'level':'median'}).reset_index()
正确的grouped_df结构如下(数字可能不同,只是数据结构的一个例子):
grouped_df =
year place price_min price_max level
1990 AAA 80 85 1
...
更新:
最终结果应该是这样的。所以,基本上price_min 和price_max 分别是上下界:
year_ place_ level_median price_min price_max
0 1990 BBB 0 75 80
1 1991 BBB 1 80 85
2 1993 BBB 1 85 90
3 1994 AAA 1 85 90
4 1998 AAA 3 90 95
【问题讨论】:
-
df2 = df.groupby(["year","place"]).agg({'level':'median','price':[np.min, np.max]}).reset_index()?