GroupBy-Funktionen in Python Pandas wie SUM (col_1 * col_2), gewichteter Durchschnitt usw
Ist es möglich, das Produkt (oder zum Beispiel die Summe) von zwei Spalten ohne Verwendung von direkt zu berechnen?
<code>grouped.apply(lambda x: (x.a*x.b).sum() </code>
Es ist viel (weniger als die Hälfte der Zeit auf meinem Computer) schneller zu bedienen
<code>df['helper'] = df.a*df.b grouped= df.groupby(something) grouped['helper'].sum() df.drop('helper', axis=1) </code>
Aber ich mag es nicht wirklich, das zu tun. Es ist beispielsweise nützlich, den gewichteten Durchschnitt pro Gruppe zu berechnen. Hier wäre der Lambda-Ansatz
<code>grouped.apply(lambda x: (x.a*x.b).sum()/(df.b).sum()) </code>
und wieder ist es viel langsamer, als den Helfer durch b.sum () zu teilen.