Ich habe folgende Daten:groupby und Summe mit Pandas für bestimmte Spalten während einschließlich anderen Spalten auch
import pandas as pd
x4 = pd.DataFrame({"ID": [101,101, 102, 103, 104, 105],
"Prob": [1, 1,1, 1, 1, 1],
"Ef": [0,2, 0, 0, 0.25, 0.29],
"W": [2, 2,3, 4, 5, 6],
"EC": [0, 0,0, 0, 1.6, 2],
"Rand": [11, 12,12, 13, 14, 15]})
Ich mag die sum(Prob * Ef)
by ID
bekommen würde und dann halten nur die Spalten ID
, die Säule mit dem sum
, die EC
Spalte und die W
Spalte.
Also am Ende möchte ich dies haben:
ID sum_column EC W
1: 101 2.00 0.0 2
2: 101 2.00 0.0 2
3: 102 0.00 0.0 3
4: 103 0.00 0.0 4
5: 104 0.25 1.6 5
6: 105 0.29 2.0 6
Ich habe versucht, dieses: x4.loc[:, ['EC','W','ID','Prob','Ef']].groupby('ID').sum(Prob*Ef)
Aber es funktioniert nicht
Es funktioniert. Zu meiner Information, wenn anstelle von 'sum (Prob * Ef)' Ich möchte 'sum (Prob/Ef)' oder 'sum (Prob-Ef)' oder 'sum (Prob + Ef)' gibt es Operatoren wie 'mult 'das tun? – quant
Ja, benutze 'div',' sub', 'add'. – jezrael