ピボットテーブルで計算する
ピボットテーブルには要約統計量が入っていますが、インサイトを得るための最初のステップにすぎません。多くの場合、さらに計算を行う必要があります。よく行う操作の1つは、最大値または最小値が現れる行や列を見つけることです。
第1章で見たように、角括弧の中に論理条件を指定すると、SeriesやDataFrameを簡単にサブセット化して、注目したい行を見つけることができます。例:series[series > value]。
pandas は pd として読み込まれており、DataFrame temp_by_country_city_vs_year はすでに用意されています。
この DataFrame の .head() を以下に示します。ここでは、一部の年の列だけを表示しています:
| 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 |
この演習はコースの一部です
pandas によるデータ操作
演習の手順
- 年ごとの平均気温を計算し、
mean_temp_by_yearに代入しましょう。 mean_temp_by_yearを、平均気温が最大の年に絞り込むようにフィルタリングしましょう。- 列全体にわたって都市ごとの平均気温を計算し、
mean_temp_by_cityに代入しましょう。 mean_temp_by_cityを、平均気温が最小の都市に絞り込むようにフィルタリングしましょう。
実践的なインタラクティブ演習
このサンプルコードを完成させて、この演習に挑戦してみましょう。
# 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[____])