将分位数计算输出转换为数据帧
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
希望能解决你的问题
我正在尝试计算分位数输出并且很接近,但不确定如何将我的输出转换为我可以作为 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
希望能解决你的问题