前提・実現したいこと
google colab で地図上に人口数で色分けするプログラムを書いています。
将来的には平均寿命等で色分けしたいと思っています。
以下のサイトのコードを模写しながら実行していました。
https://96lovefootball.hatenablog.com/entry/2018/11/05/160000
■■な機能を実装中に以下のエラーメッセージが発生しました。
発生している問題・エラーメッセージ
TypeError Traceback (most recent call last)
<ipython-input-92-11e2a2c83cb5> in <module>()
7 columns=['行政区分コード', '日本人世帯数'],
8 key_on='feature.properties.N03_007',
----> 9 fill_color='PuBu'
10 ).add_to(m)
11
/usr/local/lib/python3.7/dist-packages/folium/features.py in init(self, geo_data, data, columns, key_on, bins, fill_color, nan_fill_color, fill_opacity, nan_fill_opacity, line_color, line_weight, line_opacity, name, legend_name, overlay, control, show, topojson, smooth_factor, highlight, **kwargs)
962 if color_data is not None and key_on is not None:
963 real_values = np.array(list(color_data.values()))
--> 964 real_values = real_values[~np.isnan(real_values)]
965 _, bin_edges = np.histogram(real_values, bins=bins)
966
TypeError: ufunc 'isnan' not supported for the input types, and the inputs could not be safely coerced to any supported types according to the casting rule ''safe''
該当のソースコード
Python
1 2!pip install folium==0.8.3 3 4fukushima_location = [37.750299, 140.467551] 5 6import pandas as pd 7fukushima_data = pd.read_csv('/content/gdrive/MyDrive/data/fukushima_population.csv', encoding='utf-8') 8fukushima_data.head() 9 10fukushima_data['行政区分コード'] = fukushima_data['行政団体コード'].astype('str') 11fukushima_data['行政区分コード'] = fukushima_data['行政区分コード'].str[:4] 12fukushima_data['行政区分コード'] = fukushima_data['行政区分コード'].str.zfill(5) 13 14geojson = '/content/gdrive/MyDrive/data/fukushima.geojson' 15 16!pip install folium 17import folium 18 19m = folium.Map(location=fukushima_location,tiles='cartodbpositron',zoom_start=10) 20folium.Choropleth( 21 geo_data=fukushima_geojson, 22 name='choropleth', 23 data=fukushima_data, 24 columns=['行政区分コード', '日本人世帯数'], 25 key_on='feature.properties.N03_007', 26 fill_color='PuBu' 27).add_to(m) 28 29folium.LayerControl().add_to(m) 30 31m.save('/content/gdrive/MyDrive/data/fukushima.html')
試したこと
他のサイトで調べたのですが、該当箇所が見当たらず手詰まりになってしまいました。初心者のため見逃している部分も多々あると思いますが、ご指摘よろしくおねがいします。
補足情報(FW/ツールのバージョンなど)
fukushima_population.csvはhttps://www.pref.fukushima.lg.jp/sec/01145a/juukijinkou.html
fukushima.geojsonはhttps://nlftp.mlit.go.jp/ksj/index.html
市区町村コードはhttps://www.soumu.go.jp/denshijiti/code.htmlから取得しました。市区町村コードはcsvファイルに直接入れました。
csvの中身
市町村別人口、世帯数(令和3年1月1日現在),男日本人,男外国人,男合計,女日本人,女外国人,女合計,日本人合計,外国人合計,合計,日本人世帯数,外国人世帯,複数国籍世帯,世帯合計,行政団体コード
福島市,"133,371",791,"134,162","140,344","1,140","141,484","273,715","1,931","275,646","122,223","1,041",614,"123,878",72010
会津若松市,"55,586",370,"55,956","60,580",491,"61,071","116,166",861,"117,027","51,325",491,214,"52,030",72028
郡山市,"156,389","1,338","157,727","162,048","1,619","163,667","318,437","2,957","321,394","140,387","1,852",658,"142,897",72036
いわき市,"155,409","1,352","156,761","160,188","1,541","161,729","315,597","2,893","318,490","144,235","1,863",695,"146,793",72044
白河市,"29,690",286,"29,976","29,760",374,"30,134","59,450",660,"60,110","24,515",377,180,"25,072",72052
須賀川市,"37,175",201,"37,376","38,252",264,"38,516","75,427",465,"75,892","29,442",300,93,"29,835",72079