对于每个“acat”唯一值,我想计算每个“数据”类别的出现次数(称为“bins”),然后计算“bins”的均值和偏差
数据的可能值= 1,2,3,4,5
df = pd.DataFrame({'acat':[1,1,2,3,1,3],
'data':[1,1,2,1,3,1]})
df
Out[45]:
acat data
0 1 1
1 1 1
2 2 2
3 3 1
4 1 3
5 3 1
表示acat = 1:
bins =(2 + 0 + 1 + 0 + 0) average = bins / 5 = 0.6
表示acat = 2:
bins =(0 + 1 + 0 + 0 + 0) average = bins / 5 = 0.2
表示acat = 3:
bins =(2 + 0 + 0 + 0 + 0) average = bins / 5 = 0.4
bin_average_col 0.6 0.6 0.2 0.4 0.6 0.4
我也想要一个bin_skew_col。
我有一个使用交叉表的解决方案,但是当acat数量很大时,这会打击我的PC内存。
我已尝试过groupby和transform,但这超出了我的范围!
非常感谢提前。