Pandas summieren sich über Spalten und dividieren jede Zelle von diesem Wert
Ich habe eine CSV-Datei gelesen und gedreht, um folgende Struktur zu erhalten:
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)
Abschnitt des Ergebnisses:
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
Ich möchte für jede Zeile eine Summe zwischen Spalte 0 und Spalte 13 erstellen und jede Zelle durch die Summe dieser Zeile dividieren. Ich gewöhne mich immer noch an Pandas. Wenn ich das richtig verstehe, sollten wir versuchen, Schleifen zu vermeiden, wenn wir solche Dinge tun? Mit anderen Worten, wie kann ich das auf Pandas-Art tun?