Renaming Column Names in Pandas Groupby function [duplicate]

Diese Frage hat hier bereits eine Antwort:

Mehrere Aggregationen derselben Spalte mit pandas GroupBy.agg () 3 answers

1). Ich habe den folgenden Beispieldatensatz:

>>> df
    ID     Region  count
0  100       Asia      2
1  101     Europe      3
2  102         US      1
3  103     Africa      5
4  100     Russia      5
5  101  Australia      7
6  102         US      8
7  104       Asia     10
8  105     Europe     11
9  110     Africa     23

Ich wollte die Beobachtungen dieses Datensatzes nach ID und Region gruppieren und die Anzahl für jede Gruppe aufsummieren. Also habe ich so etwas benutzt:

>>> print(df.groupby(['ID','Region'],as_index=False).count().sum())

    ID     Region  count
0  100       Asia      2
1  100     Russia      5
2  101  Australia      7
3  101     Europe      3
4  102         US      9
5  103     Africa      5
6  104       Asia     10
7  105     Europe     11
8  110     Africa     23

On using as_index = False Ich kann eine SQL-ähnliche Ausgabe erhalten. Mein Problem ist, dass ich die Gesamtvariablenzahl hier nicht umbenennen kann. Wenn ich also in SQL das obige tun wollte, würde ich so etwas tun:

select ID, Region, sum(count) as Total_Numbers
from df
group by ID, Region
order by ID, Region

Wie wir sehen, ist es für mich sehr einfach, die Aggregatvariable 'count' in SQL in Total_Numbers umzubenennen. Ich wollte dasselbe in Pandas tun, konnte aber in der Funktion "Gruppieren nach" keine solche Option finden. Kann jemand helfen?

2). Die zweite und wichtigere Frage ist, ob es möglich ist, die Spaltennamen in der Pandas-Datenrahmenfunktion direkt zu verwenden, ohne sie in Anführungszeichen zu setzen. Ich verstehe, dass die Variablennamen Zeichenfolgen sind, also müssen sie in Anführungszeichen stehen, aber ich sehe, wenn Sie die Funktion für externe Datenrahmen verwenden und sie als Attribut nicht in Anführungszeichen stehen müssen. Wie df.ID.sum () usw. Nur wenn wir es in einer DataFrame-Funktion wie df.sort () oder df.groupby verwenden, müssen wir es in Anführungszeichen setzen. Dies ist in der Tat etwas schmerzhaft, da in SQL, SAS oder anderen Sprachen der Variablenname einfach ohne Anführungszeichen verwendet wird. Irgendwelche Vorschläge dazu?

Bitte schlagen Sie zu den beiden oben genannten Punkten vor (1. eine Haupt-, 2. mehr einer Meinung).

Vielen Dan

Antworten auf die Frage(2)

Ihre Antwort auf die Frage