Decile Pandas 列上的 DataFrame

Decile Pandas DataFrame on column

我在 Pandas 中有一个数据框,我想在特定列上进行十分位数,然后获取每个十分位数的均值。

这里是数据集:

我正在寻找 res 列的十分位数并维护代码列以及其余数据的完整性,并获得每个十分位数的平均值。

我试图使用 pd.qcut(beta.res,10) 但无法使用其结果重新组织数据。

IIUC,您可以使用 qcut returns 可以用于 groupby 的事实,因此它可以简单地类似于:

 df.groupby(pd.qcut(beta.res,10)).mean()

https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.DataFrame.quantile.html

df = pd.DataFrame(np.array([[1, 1], [2, 10], [3, 100], [4, 100]]),
                  columns=['a', 'b'])

df.quantile(.1)
a    1.3
b    3.7
Name: 0.1, dtype: float64

df.quantile([.1, .5])
       a     b
0.1  1.3   3.7
0.5  2.5  55.0