Mit Pandas können Sie verschiedene Aggregationsoperationen durchführen, um die Dimensionalität zu reduzieren und Daten zusammenzufassen.
Pandas bietet viele Aggregationsfunktionen, einschließlich mean(), sum(), count(), min() und max(). Mit diesen Funktionen können Sie zusammenfassende Statistiken für jede Gruppe berechnen. Zum Beispiel:
# Calculate mean of each group based on 'A' and 'B' columns df1 = df.groupby(['A', 'B']).mean() # Print the results print(df1)
Wenn Sie die Aggregation auf mehrere Spalten anwenden, kann das resultierende Objekt abhängig von der Anzahl der gruppierten Spalten eine Serie oder ein DataFrame sein.
Um einen DataFrame zu erhalten Verwenden Sie bei allen Spalten as_index=False in der Groupby-Funktion.
Um Zeichenfolgenspalten zu aggregieren, können Sie Listen-, Tupel- oder Join-Operationen verwenden.
Zum Beispiel:
# Convert 'B' column values to a list for each group df1 = df.groupby('A')['B'].agg(list).reset_index() # Combine 'B' column values into a string with separator for each group df2 = df.groupby('A')['B'].agg(','.join).reset_index()
Zu zählen Für nicht fehlende Werte in jeder Gruppe verwenden Sie GroupBy.count(). Um alle Werte, einschließlich der fehlenden, zu zählen, verwenden Sie GroupBy.size().
Zum Beispiel:
# Count non-missing values in 'C' column for each group df1 = df.groupby('A')['C'].count().reset_index(name='COUNT') # Count all values in 'A' column for each group df2 = df.groupby('A').size().reset_index(name='COUNT')
Mit der transform()-Methode können Sie eine neue Spalte hinzufügen, die die aggregierten Werte enthält. Die Funktion transform() wendet die angegebene Operation auf jede Gruppe an und gibt ein neues Objekt mit der gleichen Größe wie das Original zurück.
Zum Beispiel:
# Create a new 'C1' column with the sum of 'C' grouped by 'A' df['C1'] = df.groupby('A')['C'].transform('sum')
Das obige ist der detaillierte Inhalt vonWie führt man eine Datenaggregation mit Pandas durch?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!