Group_by & Aggregationen
Swipe um das Menü anzuzeigen
Das Gruppieren und Aggregieren von Daten ist ein zentraler Bestandteil des Data Wranglings, insbesondere wenn Informationen nach Kategorien zusammengefasst werden sollen. Mit Polars können Gruppenoperationen und Aggregationen effizient und parallel durchgeführt werden, was besonders für große Datensätze geeignet ist. Angenommen, es gibt ein DataFrame namens games_df mit den Spalten developer, price, positive_reviews und negative_reviews. Ziel könnte es sein, den durchschnittlichen Preis und die Gesamtanzahl der Bewertungen für jeden Entwickler zu ermitteln. In Polars erfolgt dies mit der Methode group_by, gefolgt von Aggregationsfunktionen wie mean und sum.
Im Folgenden wird gezeigt, wie games_df nach der Spalte developer gruppiert, der durchschnittliche Preis berechnet und die Gesamtanzahl der Bewertungen (Summe aus positiven und negativen Bewertungen) ermittelt werden kann:
123456789101112131415161718192021import polars as pl # Sample data games_df = pl.DataFrame({ "developer": ["DevA", "DevB", "DevA", "DevC", "DevB"], "price": [10.0, 20.0, 15.0, 30.0, 25.0], "positive_reviews": [100, 150, 200, 80, 120], "negative_reviews": [10, 20, 15, 5, 8] }) # Group by developer, calculate average price and total reviews result = ( games_df .group_by("developer") .agg([ pl.col("price").mean().alias("avg_price"), (pl.col("positive_reviews") + pl.col("negative_reviews")).sum().alias("total_reviews") ]) ) print(result)
Danke für Ihr Feedback!
Fragen Sie AI
Fragen Sie AI
Fragen Sie alles oder probieren Sie eine der vorgeschlagenen Fragen, um unser Gespräch zu beginnen