我正在寻找一种方法,使n(例如,20)组在一个数据的特定列按百分位数。(数据类型为浮动)。我不确定分位数函数组是否能处理这个问题,如果可以的话,代码应该是什么样的。
有3行a,b,c。
即数据按“a”列进行排序,并分成20组
。
。
.
是否也有一种方法可以找到每个组的平均值a、b和c,并将它们排序为另一个数据帧?
发布于 2020-07-20 14:54:44
您可以使用此方法创建20个大小相同的回收箱。然后您可以通过df['newcol'] = pd.qcut(df.a,np.linspace(.05, 1, 19, 0), duplicates='drop')
groupby
newcol
来查找a,b and c
列df.groupby(['newcol']).mean()
的汇总状态。
发布于 2020-07-20 14:55:58
# group by percentile
profitdf['quantile_a'] = pd.qcut(profitdf['a'], 20)
profitdf['quantile_b'] = pd.qcut(profitdf['b'], 20)
quantile_a = profitdf.groupby(['quantile_a']).mean()
quantile_b = profitdf.groupby(['quantile_b']).mean()
解决了。谢谢大家。
https://stackoverflow.com/questions/63004139
复制相似问题