pycountry_convertに感動して geocoderとfoliumと
Kaggleから 'Height of Male and Female by Country 2022' をダウンロードして分析してみたのです。
pycountry_convertを使い、それぞれの国を6つの大陸に分け
geocoderを使い、緯度・経度を取得後、 foliumで世界地図をプロットしました。
元のデータセットです。非常に簡潔なデータセットですが、データセットを可視化しつつ、大陸名を取得してみたいと思います。
オランダの男性の平均身長は、183.78cmのようです。日本の男性の平均身長は、
172.06cmで世界第113位です。170cm前後だと思っていたので、それよりやや高いようですね。
他にも、男女の身長差や、男女の身長の合計を可視化してみるのも興味深いです。
女性の平均身長が170cm以上もある国も存在する一方、152,3cmの国も存在します。
国によってそれぞれですね。やはり、世界地図にプロットすることで理解が深まりそうです。
pycountry_convertをインポートします。Jupyter Notebookの方は、
!pip install pycounrty_convert
でインストールした後、インポートします。
pc.country_name_to_country_alpha2 で、国名を alpha2 と呼ばれる国別コードに変換してから、
pc.country_alpha2_to_continent_code で、 alpha2 を continent code に変換すると、大陸名が取得できます。
大陸名ごとに平均身長を可視化すると、データの特性をより掴みやすくなります。
ヨーロッパの男女の身長は、高い位置に分布していますね。
ここから、世界地図にプロットするために、foliumを使用します。
geocoder を使って、緯度・経度を取得し、info にリスト化します。
list に国名が一次元配列で保存されます。
出力は ↓
のようになります。folium で世界地図にプロットすると、
上図は男性の平均身長の高い国、トップ15をプロットしたものです。
15ヶ国全ての国が、ヨーロッパに分布していることが分かります。
上位25ヶ国にまで範囲を広げてプロットすると、
ヨーロッパに、その分布が偏る一方で、アメリカ合衆国の東側、
バミューダ諸島、プエルトリコ、ドミニカ共和国も平均身長が高いことが判明。
詳しく調べてみると、
バミューダ諸島はイギリスの海外領土であり、
プエルトリコ、ドミニカ共和国共に、スペインによる植民地支配を受けていた歴史があったようです。
この3地域の身長の高さは、いずれもヨーロッパに影響を受けている可能性が高そうです。
男女の平均身長Top15の国を、プロットしてみると、
女性もヨーロッパに分布が偏っており、その一方、クック諸島、サモア、ニウエにもプロットが見られました。
上図は、平均身長が低い15ヶ国を男女別にプロットしたものです。
ヨーロッパはこれに該当せず、アジア、アフリカ、アメリカ大陸に幅広く分布しています。
folium の icon で男女ごとに色を変えて、プロットしました。
以上、データの可視化とpycountry_convert, geocoder, foliumの実例でした。
kaggleに、Notebookのすべてを公開しております。
ご参考になれば嬉しいです。
Height of Male and Female 2022 -My analysis | Kaggle