Effectuer des calculs sur un tableau croisé dynamique
Les tableaux croisés dynamiques regorgent de statistiques sommaires, mais ce n'est qu'un point de départ pour dégager des éléments intéressants. Vous devrez souvent y appliquer d'autres calculs. Une approche courante consiste à trouver les lignes ou les colonnes où la valeur la plus élevée ou la plus faible se produit.
Rappelez-vous du chapitre 1 que vous pouvez facilement extraire une partie d'une Series ou d'un DataFrame pour trouver les lignes d'intérêt en utilisant une condition logique entre crochets. Par exemple : series[series > value].
pandas est importé sous pd et le DataFrame temp_by_country_city_vs_year est disponible.
Le .head() de ce DataFrame est présenté ci-dessous, avec seulement quelques colonnes d'années affichées :
| 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 | span translate="no">Dhaka | 25.905 | 25.931 | 26.095 | … | 26.587 |
Cette activité fait partie du cours
Manipulation de données avec pandas
Instructions de l’exercice
- Calculez la température moyenne pour chaque année et attribuez le résultat à
mean_temp_by_year. - Filtrez
mean_temp_by_yearpour l'année ayant la température moyenne la plus élevée. - Calculez la température moyenne pour chaque ville (sur l'ensemble des colonnes) et attribuez le résultat à
mean_temp_by_city. - Filtrez
mean_temp_by_citypour la ville ayant la température moyenne la plus basse.
Exercice interactif pratique
Essayez cet exercice en complétant ce code d’exemple.
# 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[____])