東京都の人口統計データ(CSV)をAmazon QuickSightで可視化してみた
こんにちは、CX事業本部 IoT事業部の若槻です。
「何かしらの行政データをQuickSightで可視化してみたい」という意思のもと、良さげなオープンデータセットを探していたところ、東京都の総務局統計部が東京都の人口(推計)を公開しているのを見つけました。
というわけで今回は、東京都の人口統計データ(CSV)をAmazon QuickSightで可視化してみました。
やってみた
データソースの準備
前述の東京都の人口(推計)を見てみると、令和4年度の毎月1日の推計人口がPDF、ExcelおよびCSVでダウンロード可能となっています。
下の方にスクロールすると、最新の7月のCSV(315KB)があるのでダウンロード。こちらを今回のデータソースとしようと思います。
とりあえず中身を見てみるためにCSVファイルをVS Codeで開いてみると文字化けしています。ファイルはUTF-8エンコードで開かれていますが、実際はShift JISっぽいですね。
そこでVS CodeのSettingsのfiles.autoGuessEncoding
にチェックを入れます。
CSVファイルを開き直すと文字化けせずに開けました。やはりSHIFT JISエンコードだったようですね。
QuickSightのドキュメントを見ると、データをファイルでインポートする場合はエンコーディングはUTF-8
のみのサポートとのことです。
CSV and TSV – Comma-delimited and tab-delimited text files
QuickSight supports UTF-8 file encoding, but not UTF-8 (with BOM).
というわけでCSVファイルをUTF-8に変換して保存します。VS Codeであれば既定の機能で可能です。
これでエンコーディングをUTF-8とすることができました。
またデータの先頭行がヘッダーとなるように不要な行を削除します。(ここははじめから構造化データとしていて欲しいところですね)
これでQuickSightに読み込ませるデータソースの準備ができました。
QuickSightでの可視化
CSVファイルをQuickSightのコンソールからCSVファイルをDatasetのソースとして読み込ませます。
良さげですね。
[Visualize]をクリック。
DatasetがAnalysisで利用可能となりました。
とりあえずFilled Mapで地図上での可視化をしようとしてみましたが、地域カラム(千代田区
、中央区
、港区
...)は対応していないようです。
ドキュメントを見ると、district
とあるので対応していそうですが、日本の市区町村では未対応のようです。(よって今回のデータを地理空間情報として利用するためにはそれを見越したデータの加工や結合が必要でした)
One geospatial field (such as country, state or region, county or district, or ZIP code or postal code).
そこで垂直棒グラフで可視化してみます。できはしたのですが全体や区部の合計値が含まれているようです。
地域カラムから総数
、市部
、区部
、島部
をフィルターします。
また国籍カラムは総数
だけとします。
市区町村毎の人口増減を表すグラフが出来上がりました。
豊島区
や江東区
の増え方が頭一つ抜けていますね。増えているのは区部が多いようです。市町村だと調布市
や稲城市
、立川市
が上位に来ています。逆に一番人口を減らしているのは世田谷区
です。ワースト2位の武蔵村山市に2倍以上の差を付けた-143
となっており、また23区の中で唯一人口を減少させています。
補足
便利なCSVビューアー
今回VS CodeでCSVを扱いましたが、CSVやExcelファイルをプレビューしたい場合は、Excel Viewerというプラグインが便利です。
テーブル形式で列のフィルターなどができるようになります。
おわりに
東京都の人口統計データ(CSV)をQuickSightで可視化してみました。
データ自体に価値はあると思いますが、文字エンコーディングがUTF-8でなかったり、データが構造的ではなかったりと、データの提供の仕方には課題があると感じました。
しかしデータを可視化するのはやはり楽しいですね。もっと時系列を増やしたり、他のデータと結合や比較をして、自分なりのインサイトを持ちながら分析できるともっと楽しいと思います。
参考
以上