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
我在 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