列上的Decile Pandas DataFrame

时间:2015-07-10 19:19:27

标签: python sorting python-3.x statistics dataframe

我在Pandas中有一个数据框,我想在特定列上进行十进制,然后获取每个十进制的方法。

以下是数据集:

enter image description here

我希望对res列进行十进制并维护自动收录器列以及其余的数据不完整性,并获得每个十进制的平均值。

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

2 个答案:

答案 0 :(得分:2)

IIUC,您可以使用qcut返回可用于groupby的内容的事实,因此它只会是:

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

答案 1 :(得分:0)

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