将分位数计算输出转换为数据帧

Turning a quantile calculation output into a dataframe

我正在尝试计算分位数输出并且很接近,但不确定如何将我的输出转换为我可以作为 df 访问的 df。

x.groupby(['day'])['mins'].quantile(.5)

这给了我想要的,

输出不是数据帧,我需要输出是数据帧。

输出如下:

    day
    2019-06-28    3.0
    2019-06-30    4.0
    2019-07-02    3.0
    2019-07-06    3.0
    2019-07-08    3.0
    Name: mins, dtype: float64

谢谢!

你只需要做 reset_index()

df = pd.DataFrame({'mins': [1, 2, 2, 10, 6],
                   'day':['2019-06-28','2019-06-28','2019-06-30','2019-06-30','2019-07-02']})

res = df.groupby(['day'])['mins'].quantile(0.5).reset_index()
res.rename(columns={'mins':'quantile_value'},inplace=True)
print(res)
          day  quantile_value
0  2019-06-28   1.5
1  2019-06-30   6.0
2  2019-07-02   6.0

希望能解决你的问题