Панды суммируют по столбцам и делят каждую ячейку от этого значения
Я прочитал CSV-файл и развернул его, чтобы получить следующую структуру:
pivoted = df.pivot('user_id', 'group', 'value')
lookup = df.drop_duplicates('user_id')[['user_id', 'group']]
lookup.set_index(['user_id'], inplace=True)
result = pivoted.join(lookup)
result = result.fillna(0)
Раздел результата:
0 1 2 3 4 5 6 7 8 9 10 11 12 13 group
user_id
2 33653 2325 916 720 867 187 31 0 6 3 42 56 92 15 l-1
4 18895 414 1116 570 1190 55 92 0 122 23 78 6 4 2 l-2
16 1383 70 27 17 17 1 0 0 0 0 1 0 0 0 l-2
50 396 72 34 5 18 0 0 0 0 0 0 0 0 0 l-3
51 3915 1170 402 832 2791 316 12 5 118 51 32 9 62 27 l-4
Я хочу суммировать от столбца 0 до столбца 13 по каждой строке и разделить каждую ячейку на сумму этой строки. Я все еще привыкаю к пандам; если я правильно понимаю, мы должны стараться избегать циклов при выполнении таких вещей? Другими словами, как я могу сделать это «пандами»?