Berechnungen mit Pivot-Tabellen durchführen
Pivot-Tabellen enthalten zusammenfassende Kennzahlen – diese sind aber nur der erste Schritt, um etwas Aufschlussreiches herauszufinden. Oft musst du mit ihnen weitere Berechnungen anstellen. Häufig werden zum Beispiel die Zeilen oder Spalten gesucht, in denen der höchste oder niedrigste Wert vorkommt.
Aus Kapitel 1 weißt du, dass du mit logischen Bedingungen innerhalb von eckigen Klammern ganz einfach Teilmengen aus einer Series oder einem DataFrame auswählen kannst, um gezielt auf Zeilen von Interesse zuzugreifen. Zum Beispiel: series[series > value].
pandas ist als pd geladen und der DataFrame temp_by_country_city_vs_year ist ebenfalls verfügbar.
Die ersten Zeilen (.head()) für diesen DataFrame sind unten abgebildet, wobei nur ein paar der Jahresspalten angezeigt werden:
| country | city | 2000 | 2001 | 2002 | … | 2013 |
|---|---|---|---|---|---|---|
| Afghanistan | Kabul | 15.823 | 15.848 | 15.715 | … | 16.206 |
| Angola | Luanda | 24.410 | 24.427 | 24.791 | … | 24.554 |
| Australia | Melbourne | 14.320 | 14.180 | 14.076 | … | 14.742 |
| Sydney | 17.567 | 17.854 | 17.734 | … | 18.090 | |
| Bangladesh | Dhaka | 25.905 | 25.931 | 26.095 | … | 26.587 |
Diese Übung ist Teil des Kurses
Datenbearbeitung mit pandas
Anleitung zur Übung
- Berechne die mittlere Temperatur für jedes Jahr und weise die Ergebnisse
mean_temp_by_yearzu. - Filtere
mean_temp_by_yearnach dem Jahr mit der höchsten Durchschnittstemperatur. - Berechne die mittlere Temperatur für jede Stadt (über alle Spalten) und weise die Ergebnisse
mean_temp_by_cityzu. - Filtere
mean_temp_by_citynach der Stadt mit der niedrigsten Durchschnittstemperatur.
Interaktive Übung
Vervollständige den Beispielcode, um diese Übung erfolgreich abzuschließen.
# Get the worldwide mean temp by year
mean_temp_by_year = temp_by_country_city_vs_year.____
# Filter for the year that had the highest mean temp
print(mean_temp_by_year[____])
# Get the mean temp by city
mean_temp_by_city = temp_by_country_city_vs_year.____
# Filter for the city that had the lowest mean temp
print(mean_temp_by_city[____])