У меня есть следующий фрейм данных table_1
:
Sample method value
3 sample1 method_0 1
3 sample1 method_1 2
3 sample1 method_2 3
3 sample1 method_3 4
3 sample2 method_0 5
3 sample2 method_1 6
3 sample2 method_2 7
3 sample2 method_3 8
grouped = table_1.groupby('method')
И я хочу сгруппировать по «методу», а затем для каждой группы разделить записи в столбце «значение» для этой группы на другую серию, имеющую такое же количество записей, как и записи в каждой группе. Я достиг этого, выполнив:
table_2 = grouped.apply(lambda x: x['value'].div(series_of_two_elements))
Но теперь я хочу объединить table_2
в каждую группу в table_1
. Когда я пытаюсь:
table_1['normalized'] = table_2
Я получаю:
TypeError: 'DataFrameGroupBy' object does not support item assignment
Как я могу преобразовать table_1
обратно в DataFrame, чтобы я мог назначить эти новые нормализованные значения для каждой группы? Могу ли я использовать лямбда-выражение с df.transform
?