Ich habe ein Datenframe wo ich Groupby auf 3 Spalten und aggregieren die Summe und die Größe der numerischen Spalten. Nach dem Ausführen des CodesPandas: Erstellen Sie einzelne Größe und Summe Spalten nach der Gruppe von mehreren Spalten
df = pd.DataFrame.groupby(['year','cntry', 'state']).agg(['size','sum'])
Ich bin immer so etwas wie unten:
Jetzt möchte ich meine Größe Unter Spalten von Hauptspalten und erstellen Sie nur einzelne Größe Spalte spalten, sondern behalten wollen die Summenspalten unter Hauptspaltenüberschriften. Ich habe verschiedene Ansätze ausprobiert, aber nicht erfolgreich. Dies sind die Methoden, die ich versucht, aber nicht in der Lage, Dinge zu bekommen für mich arbeiten:
How to count number of rows in a group in pandas group by object?
Converting a Pandas GroupBy object to DataFrame
Wird dankbar, wenn jemand mir mit diesem helfen kann.
Grüße,
Hallo piRSquared, Danke für die ausführliche Antwort, aber ich habe zwei Anliegen mit dem Code oben. Erstens: Wenn ich den Code df.xs ('Größe', Achse = 1, Ebene = 1) Ich bekomme den folgenden Fehler: ValueError: Keine Achse namens 1 für den Objekttyp Zweitens muss ich die Summenspalten auch unter Spalte1, Spalte2 und Spalte3 behalten. Können Sie mir bitte sagen, wie ich das beheben kann? Grüße –
Baig
@Baig Der erste Wert Fehler, den Sie bekommen, ist von 'df' nicht ein Datenrahmen, sondern eine Reihe statt. Bitte überprüfen Sie Ihre Variablen. Wenn "d1" wie oben definiert ist und "df = d1.groupby (['year', 'cntry', 'State']). Agg (['size', 'sum'])' dann ist dieser Fehler unmöglich. Zweite Sorge, werde ich mit der Aktualisierung der Post ansprechen. – piRSquared