入門編: Pythonで国勢調査のデータを扱ってみよう!

入門編: Pythonで国勢調査のデータを扱ってみよう!

業務へのデータ活用を検討する際、統計的な勉強を始めたが、データ分析を自社のビジネスにどのように役立ててよいかわからないという声をいただきました。

そこで弊社では、実際のデータを使ってどのようなことができるかの、ハンズオンセミナーを開催しています。

国勢調査は日本全国の世帯員に関するデータです。また、位置データにも紐づいているため、どの場所がどのような状態か?ということを理解することができます。

当セミナーでは、子供向け商品を作っている会社が、子供の多い地域を探すために、国勢調査のデータを扱うというシナリオの元、実際に位置データと数値のデータをマージし、どのあたりがターゲットとできるかを判定することを、Pythonを使って行う過程を紹介します。

国勢調査のデータから大阪府の幼児の数が多い地域をピックアップして、地図にプロットすることを、ハンズオンの最終ゴールとします。

自社のデータ活用・データ分析の方法に迷っている企業がある場合、是非お気軽に長目にお問い合わせください

ハンズオンの手順

ハンズオンの手順は次の通りです。

  • 国勢調査のデータの解説
  • データを扱う際の注意点
  • 位置データを扱う際の注意点
  • 実際にデータを扱う

国勢調査のデータの解説

国勢調査は5年に1度行われます。次のようなデータが調査されます。公開されるデータは、プライバシーなどが考慮されており、個人の状態はありませんが、地域ごとにまとめられたデータがあります。

地域ごとにまとめられたデータは、町村レベル、1kmメッシュ、500mメッシュ、250mメッシュなどのデータが作られており、粒度別に含まれるデータも変わります。

データを使う際は、せっかく位置データ(e-Statでは境界データと呼ばれる)が存在するので、統計データと境界データをマージしてデータを扱います。こうすることにより、上記の地図のように表示でき、不慣れな土地でも近隣地域との関係性や大きさのイメージを作ることができます。

データを扱う際の注意点

データを扱う際の注意点はたくさんあるのですが、一度には覚えきれません。今回は次の2点を覚えて帰ってください。

  • データを扱う際は、データの定義を調べよう
  • データがあっているか、可視化して(グラフを作成)調べてよう

データの定義を調べるというのは、入手したデータが一体何を示すものか知っておくということです。このデータは大体このようなものだろうと思って使っていると、実は異なることを表現していたということもあり得ます。そうすると分析は役立たなくなります。

データが提供されていても、そのデータ自体が間違っていることもあります。微妙な入力間違いには気づくことは難しいですが、値が完全に間違っている場合は、グラフを作ることでそれに気づけます。

位置データを扱う際の注意点

位置データを扱う際の注意点は多くありますが、セミナーで一つ覚えて帰るとしたら次の1点があげられます。

  • 位置データ扱う際は座標参照系に気を付けよう

丸い地球の場所を2次元で表現するために、色々と表現方法があります。それが座標参照系です。その設定を間違わないように工夫するということが重要です。

実際に国勢調査のデータを扱う

ここからは実際に国勢調査のデータを扱います。

データは多くの場合、分析に活用する前に前処理が必要となります。前処理は簡単に言うと、分析に使えないデータを使える形に修正する過程です。今回の場合も、数値があってほしい所に横棒が入っていたりする(一方で、データを見た際に意味を理解できるという面では、そのような入力は別段問題ない)ので、そのあたりを処理し、子供の多い場所を大阪で探します。

統計データと境界データの結合は、ウェブページにKEY_CODEを使うとできることが示されています。それを使ってデータを結合し、分析します。

それではそれぞれのデータをダウンロードして処理していきます。

統計データの読み込みと前処理

統計データをダウンロードした後、読み込んだのが次の画像です。

こちらを地味に処理して、次のように使えるデータにします。

境界データの読み込みと前処理

次の境界データをダウンロードして読み込みます。

CRSはEPSG:4326にします。

このあと、多少の処理を加え、統計データと境界データをマージします。

HYOSYOをそろえ、子供の数 の多い地域をプロットする

データには様々な粒度のデータがあることが分かります。それを管理しているのがHYOSYOという列であるため、そのデータをそろえてデータを作成します。今回は一番小さい4で揃えます。

そのあと、0-4歳児の数が100人以上であるという閾値を設けてデータを作成します。

その条件を満たすエリアをプロットしたのが次の可視化です。

まとめ

こうして、子供の多い地域が抽出できたら、次はどのように企業がその地域で活動するかを検討します。自社のターゲットの多い地域をピックアップして、マーケティングなどを検討するようなことは、国勢調査のデータを使うだけで容易に行えます。

そのような人材がおられない会社でも、このような感じのマーケティングを将来展開したいとお考えの方は、ぜひ長目お気軽にご相談ください。内部での人材育成のお手伝いや弊社が直接お手伝いさせていただくなど、様々な方法で御社のデータ活用をサポートさせていただきます。

もっとどのようなことができるか知りたいと思われる方は、弊社の小川がPyConJP2021で発表し、印象に残ったトーク2位となった「位置データもPythonで!」のプレゼン資料をご確認ください。同資料では人の行動履歴やひまわりや衛星データまで扱っています。


ご相談・お問い合わせ  →

click me!