Для каждого уникального значения «acat» я хочу подсчитать, сколько вхождений каждой категории «данных» (назовем это «ящики»), а затем вычислить среднее значение и наклон «ячеек».
возможные значения данных = 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:
бункеры = (2 + 0 + 1 + 0 + 0) среднее = бункеры / 5 = 0,6
для acat = 2:
бункеры = (0 + 1 + 0 + 0 + 0) среднее = бункеры / 5 = 0,2
для acat = 3:
бункеры = (2 + 0 + 0 + 0 + 0) среднее = бункеры / 5 = 0,4
bin_average_col 0,6 0,6 0,2 0,4 0,6 0,4
Также мне нужен файл bin_skew_col.
У меня есть решение, в котором используется кросс-таблица, но это приводит к потере памяти моего компьютера при большом количестве acat.
Я много пробовал с groupby и transform, но это выше меня!
Спасибо заранее.
Да, надеюсь, это поможет. Если я возьму acat1 в качестве примера: df1 = pd.DataFrame ({'bin_for_acat1': [2,0,1,0,0]}) df1.skew () 1.257788






Не могли бы вы показать пример расчета асимметрии?