Excelを利用した7市町オープンデータの分析①・グラフ作成
オープンデータとは
平成24年,日本において公共データの活用促進を目的として電子行政オープンデータ戦略が策定されました. この戦略では,「公共データ活用の推進」「公共データ活用のための環境整備」が具体的な施策とされており, これらの施策の鍵となるのがオープンデータです.
オープンデータは下記に従うことを条件としています.
- 機械判読に適したデータ形式
- 二次利用が可能な利用ルールで公開
つまり,行政(地方自治体)が保持している統計データや施設データなどを, 誰もが再利用や再頒布ができることを条件に,コンピュータに扱いやすい形式で公開されたデータをオープンデータと呼びます. 企業や個人のデータでも上記に従えばオープンデータですが,ここでは,行政のデータにターゲットを絞ります(オープンガバメントデータと呼ぶこともあります). 一般に,再利用や再頒布が可能なソフトウェアのことはオープンソースと呼ばれることも合わせて覚えておきましょう.
ここで,ポイントとなるのは,「機械判読に適したデータとは何か?」ということです. 一般に小規模のデータを管理するときには,エクセル を採用することが多いです. 文化情報学部では,1年後期に開講されている「コンピュータと情報 Ⅱ」において,エクセルの使い方を学習します. たしかに,エクセルは,デザイン(書式)や関数など様々な機能を提供しており,人間にとってはとても便利なソフトウェアです. しかし,これらのデータをコンピュータで処理しようとするとき,これらの機能が却って冗長となり,コンピュータによる判読が難しい状況が起こります.
具体例をみてみましょう. まずは,エクセル形式(.xlsx)で表現された日進市の人口のデータ(jinkou.xlsx)です. タイトル部分に太字,表部分に罫線などのデザイン(書式)が設定されていることが分かります. これらは,エクセルを利用している人間が見るためのデザインであり,データの本質ではありません. また,エクセル形式(.xlsx)の実態は,XMLや画像などで構成されるZIPファイルであり, 専用のソフトウェア(エクセル,OpenOfficeなど)でしか開くことはできません.
次に,CSV形式(.csv)で表現された日進市の人口のデータ(jinkou.csv)です. CSVは「しーえすぶい」と読み,オープンデータで頻繁に採用されるデータ形式です. データが「,(カンマ)」で区切られて表現されるだけで,エクセルのようなデザイン(書式)は含みません. このため,一般的なエディタ(メモ帳)でも開くことができます(エクセルでも開けます). エクセル形式(.xlsx)に比べると,人間にとっては理解しにくいですが,コンピュータの判読には優れています.
町名,男,女,総数,世帯数
赤池町,1693,1647,3340,1315
浅田町,2593,2431,5024,2086
梅森町,1017,1034,2051,876
野方町,171,173,344,143
蟹甲町,171,200,371,152
折戸町,1404,1381,2785,1073
今回の授業では,日進市のオープンデータミュージアムで公開されている CSV形式のデータをエクセルで可視化することを目的とします. エクセル以外の方法でオープンデータを扱う方法は第3回以降に解説します.
公開されているオープンデータ
オープンデータはウェブで公開されるのが一般的であり, 総務省が運用するData.go.jpがオープンデータのカタログサイトとして知られています. このサイトでは,国土交通省,経済産業省などの組織別のデータセット,また,行財政や観光などのトピックに関するデータ・セットが提供されています. 例えば,観光 というキーワードで検索すると,「平成28年度 国際経済調査事業報告書」,「平成28年度 商店街インバウンド・空き店舗実態調査」などのデータセットがヒットします(平成30年2月28日現在). しかし,残念ながら,これらの多くはPDF形式での提供であり,「機械判読に適したデータ」ではありません. 現状では,まだまだオープンデータの整備は不十分と言えるでしょう.
この他,内閣府のまち・ひと・しごと創生本部が提供している地域経済分析システム(RESAS)が注目されています. RESAS(りーさす)は,総務省が提供している統計情報 e-Statのオープンデータなどを可視化するためのシステムです. 地方自治体の現状や課題を発見することを目的としており,情報を直感的にわかりやすく見える化することができます. 例えば,2015年の愛知県名古屋市の 人口マップ を下記のように可視化することができます. マウスで各市区町村をホバーすると人口が表示され,名古屋市千種区は164,696人であることが分かります. また,人口推移や人口ピラミッドなどのグラフも簡単に描画することができます. このようにデータを可視化して,分かりやすく伝えることも,オープンデータの活用に必要な要素です.
愛知県下においては,オープンデータに関する取り組みを精力的に進める自治体の一つに日進市があります. 日進市のウェブサイトでは,オープンデータミュージアムを開設しており, 住民向け情報(暮らしの情報),事業者向け情報,行政活動情報,観光情報の区分に分けてオープンデータを公開しています. また,平成28年度には,瀬戸市,尾張旭市,豊明市,日進市,みよし市,長久手市,東郷町の7市町で 「7市町オープンデータ検討会」を組織し,連携してオープンデータの整備を始めています. これまでに,7市町が共通のフォーマットで,子育て支援施設,教育機関などのデータを各自治体のウェブサイトで公開しています. 今回は日進市のオープンデータミュージアムで公開されている町別・年齢別人口のデータをダウンロードして利用します. 行政活動情報のページにアクセスし, 平成29年4月1日のCSV形式のデータ をダウンロードしてください.
人口ピラミッドの算出
ダウンロードしたCSV形式の町別・年齢別人口のデータ(chou_nenreibetsu_kakusai.h290401.csv)を利用して,人口ピラミッドの値を算出しましょう. まずはエクセルを起動して,空白のブックを選択します. セルA1をアクティブにした状態で,データ・タブのテキストまたはCSVからをクリックします. ダイアログが表示されたら,ダウンロードしたファイルを選択し,インポートをクリックします.
プレビュー画面で,編集をクリックし,クエリエディタを開きます. ここでは,男,女の人口データを用いるため,1行目と2行目,また,B列とE列以降は削除してしまいます. 削除後に,1行目をヘッダーとして使用をクリックして,最後に,閉じて読み込むをクリックします.
読み込み後に,下記のように表示されることを確認してください. 年齢,男,女は**ヘッダー(項目名)**になっていることに注意が必要です. このとき,年齢の列のデータは一旦削除して,0から100までの値を再度入力してください(sumifs関数が動作しないバグ有り).
次に,年齢のデータ区間を設定し,区間ごとの人口を集計します. 区間幅はRESASに合わせて5とします. 下図を参考にE列,F列にデータ区間を入力してください(セルF21には100を入力すること).
ここで,sumifs関数を用いて,G列に男,H列に女の人口を集計します. まずは,G列に男の人口を集計します. セルG2をアクティブにした状態で,関数の挿入をクリックし,sumifs関数を選択します.
sumifs関数は複数の条件を満たすセルの値を合計するために用いられます. ここでは,「E列の値以上」かつ「F列の値以下」という条件を満たすセルの値を合計します. 下図を参考に合計対象範囲,条件範囲1,条件1,条件範囲2,条件2を入力してください. このとき,参照するセルは絶対参照にすることに注意してください.
同様に,H列に女の人口を集計します. セルH2をアクティブにした状態で,上記と同じ操作を繰り返してください. sumifs関数の引数は下図を参考にしてください.
この結果,区間ごとの人口が下記のように算出されます. 算出された値が一致するか確認しましょう.
人口ピラミッドのグラフ
それでは人口ピラミッドのグラフを作成しましょう. G1:H21をアクティブにした状態で,挿入タブから集合横棒のグラフを選択します. ここで,グラフタイトルに「日進市の人口ピラミッド」と入力し,グラフエリアの大きさを広げておきます.
ここから,下記の手順でグラフを整えます.
- 女の系列を選択し,データ系列の書式設定で,第2軸に変更
- 男の系列の横軸(下)を選択し,軸の書式設定で,軸を反転するにチェック
- 男の系列の横軸(下)を選択し,軸の書式設定で,最小値を**-4500**に設定
- 女の系列の横軸(上)を選択し,軸の書式設定で,最小値を**-4500**に設定
- 横軸ラベルをE2:E21に設定(任意)
- 表示形式をユーザ設定に変更し,表示形式コードを**#,##0;**に設定(任意)
下記が生成された人口ピラミッドのグラフです. グラフが一致しているか確認してください. このグラフから,日進市のボリューム層は40代の子育て世代であることが分かります. また,10歳未満の子供も多く,子育てがしやすい環境であることが読み取れます.