たつをの ChangeLog : 2020-04-15

Apple からAppleマップのログによる通行量のデータが公開されました。


152箇所の国/地域、都市のデータがあります(国/地域は63, 都市は89)。
移動のタイプは車(Driving), 徒歩(Walking), 公共交通機関(Transit) の3つが区別されています。

ということで、可視化していきたいと思います。
使ったツールは python, pandas, matplotlib, jupyter notebook などです。

日本国内での比較:
日本の都市は、東京(Tokyo), 大阪(Osaka), 名古屋(Nagoya), 福岡(Fukuoka) の4つが入っていました。それに日本全体(Japan) を加えた5つでグラフ作成。

Apple-Maps-Mobility-Trends-Reports-Japan-Tokyo-Osaka-Nagoya-Fukuoka

日本と他国との比較:
Appleのページではデフォルトとして、アメリカ(USA, United States), ドイツ(Germany), イギリス(UK), イタリア(Italy) の比較グラフが表示されています。これに日本(Japan)を足してグラフ作成。

Apple-Maps-Mobility-Trends-Reports-Japan-United-States-UK-Germany-Italy

日付は Pacific time とのことなので、本来はタイムゾーンの調整が必要なんだけど今回はスルー。

なお、これらのグラフはツイッターでもシェアしています。

§

グラフ描画に使ったコードを貼っておきます。
コード
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
%matplotlib inline
import seaborn as sns; sns.set()

df = pd.read_csv("data/applemobilitytrends-2020-04-13.csv")

#cn_list = ("Japan", "Tokyo", "Osaka", "Nagoya", "Fukuoka")
cn_list = ("Japan", "United States", "UK", "Germany", "Italy")
df = df[df['region'].isin(cn_list)]

transportation_type = ("driving", "transit", "walking")

fig = plt.figure(figsize=(15,15))
fig.subplots_adjust(hspace=0.5)
data_title = "Apple Maps Mobility Trends Reports"
for i, tt in enumerate(transportation_type, 1):
    tmp = df[df['transportation_type'] == tt].iloc[:,3:-1]
    tmp.index = df[df['transportation_type'] == tt][ 'region']
    tmp = tmp.transpose()
    tmp.index = pd.to_datetime(tmp.index)
    ax = fig.add_subplot(3,1,i)
    tmp.plot(ax=ax)
    ax.set_title(tt + " - " + data_title)
    ax.set_ylim(0,210)
    ax.legend(loc='upper right')
    ax.grid(which='minor')

file_name_key = '-'.join(cn_list)
file_name = ("Apple Maps Mobility Trends Reports " + file_name_key + ".png").replace(' ', '-')
fig.savefig(file_name, bbox_inches='tight', pad_inches=0)

いろいろとイマイチでして、もっと pandas らしく書けるはず。修行します……。

たつをの ChangeLog
Powered by chalow