Was könnte eine Möglichkeit sein, mehrere groupby Ausgänge zu vergleichen.Vergleichen groupby Ausgabe für verschiedene Datenrahmen
habe ich mehrere groupby Ausgänge von verschiedenen Datenrahmen, wie unten
>>> tmp1
account place balance type
0 A A1 10 B1
1 A A1 20 B1
2 A A1 30 B1
3 A A1 10 B4
4 A A1 20 B4
5 A A1 10 B5
6 A A1 10 B6
7 B A2 10 B7
8 B A2 20 B1
9 B A2 100 B1
ich
>>>tmp1.groupby(['account','place','type']['balance'].last().sum(level=0).astype(int)
account
A 70
B 110
Name: balance, dtype: int64
Similarly
>>> tmp2
account place balance type
0 A A1 100 B1
1 A A1 200 B1
2 A A1 100 B1
3 A A1 100 B4
4 A A1 200 B4
5 A A1 100 B5
6 A A1 100 B6
7 B A2 100 B7
8 B A2 200 B1
9 B A2 200 B1
>>>tmp2.groupby(['account','place','type']['balance'].last().sum(level=0).astype(int)
account
A 500
B 300
Name: balance, dtype: int64
#similarly tmp3 grouped..and so on
Gibt es eine Möglichkeit, die df mit maximaler Summe Balance zu finden. z.B. In diesem Fall hat tmp2 eine höhere Summe (70+110 < 500+300)
.
Mein Versuch: Eine der Möglichkeiten, wie ich versucht, die Summe nahm und eine Liste beibehalten wird, wie unten
mylist=[]
mylist.append(tmp1.groupby(['account','place','type']['balance'].last().sum(.astype(int))
mylist.append(tmp2.groupby(['account','place','type']['balance'].last().sum(.astype(int))
>>> mylist
[180,800]
Jetzt kann ich max von der Liste nehmen, aber ich verlieren Kontoinformationen (800 max aber I Informationen benötigen wegen A mit 500, B 300 mit)
ich versuchte
>>>tmp2.groupby(['account','place','type'])['balance'].last().sum(level=0).to_dict()
{'A': 500, 'B': 300}
so wird für jeden df ich ein dict haben, ich brauche nur maximal zu finden solcher Listen (Ich glaube, ich habe sehr nahe kommen, um es zu lösen)
Ich beabsichtige, um herauszufinden, welche Datenrahmen maximale Summe hatte (zusammen mit Account)
dies macht es für mich! Könntest du den Befehlen Notizen hinzufügen? – pythonRcpp