У меня есть фрейм данных с двумя столбцами, x и y, показанными ниже.
X Y
2 W
3 AA
6.5 W
8 W
23 AA
Я применил формулу, чтобы найти общий вес для каждой группы.Группировка по значениям y в этом случае.Найдено для группы W total_weightt = 0,611 и для группы AA total_weight = 0,258
Ниже приведен вывод, который мне нужен?
X Y total_weight
2 W 0.611
3 AA 0.258
6.5 W 0.611
8 W 0.611
23 AA 0.258
Может включать использование словаря или какой-либо команды перечисления / итерации.
См. Приведенный ниже код с использованием Python 3. Я создал фрейм данных и рассчитал total_weights для каждой группы.Как мне сопоставить его с исходным фреймом данных?
data = {'x':[2,3,6.5,8,23], 'y':['W','AA','W','W','AA']}
df = DataFrame (data, columns=['x', 'y'])
grouped = df.groupby('y')
ni = len(grouped['x'])
n_weight = ni/len(df['x'])
ci = grouped['x'].mean()
c_weight = ci/df['x'].mean()
total_weight = n_weight * c_weight
print (total_weight)