python-visualization.github.io
データ抽出
import pandas as pd df1 = pd.read_excel("https://www.pref.ehime.jp/opendata-catalog/dataset/dataland-275/resource/6743/237.xlsx", header=None, index_col=None) # テキスト絞り込み df2 = df1.loc[df1.notnull().sum(axis=1) > 5, df1.notnull().sum() > 2].copy() df2.to_csv("data.csv", index=False, header=False)
グラフ作成
!pip install japanize-matplotlib
import matplotlib.pyplot as plt import japanize_matplotlib df3 = pd.read_csv("data.csv", header=0, na_values="-").fillna(0) df3.drop(0, inplace=True) df3.plot.bar(x="地域名", subplots=True, layout=(2,3), figsize=(15,8), sharex=False) plt.subplots_adjust(wspace=0.2, hspace=0.6) plt.show()
コロプレス図作成
import io data = '''\ "標準地域コード","都道府県","市区町村" "38201","愛媛県","松山市" "38202","愛媛県","今治市" "38203","愛媛県","宇和島市" "38204","愛媛県","八幡浜市" "38205","愛媛県","新居浜市" "38206","愛媛県","西条市" "38207","愛媛県","大洲市" "38210","愛媛県","伊予市" "38213","愛媛県","四国中央市" "38214","愛媛県","西予市" "38215","愛媛県","東温市" "38356","愛媛県","上島町" "38386","愛媛県","久万高原町" "38401","愛媛県","松前町" "38402","愛媛県","砥部町" "38422","愛媛県","内子町" "38442","愛媛県","伊方町" "38484","愛媛県","松野町" "38488","愛媛県","鬼北町" "38506","愛媛県","愛南町"''' df_city = pd.read_csv(io.StringIO(data), header=0) df_city df4 = pd.merge(df3, df_city, left_on="地域名", right_on='市区町村') df4.drop(["地域名", "都道府県"], axis=1)
!pip install folium !wget "https://github.com/niiyz/JapanCityGeoJson/raw/master/geojson/prefectures/38.json"
import pandas as pd import folium import json df4["標準地域コード"] = df4["標準地域コード"].astype(str) m = folium.Map(location=[33.841672, 132.765339], tiles="cartodbpositron", zoom_start=9) geojson = "38.json" folium.Choropleth( geo_data=geojson, data=df4, columns=["標準地域コード", "発生件数"], key_on="id", fill_color="BuPu", ).add_to(m) m