#40 都道府県別人口データを作成

164 Views

November 28, 24

スライド概要

今回は、政府統計の総合窓口「e-stat」から、令和2年国勢調査の都道府県別人口を探して、それを基に都道府県毎の人口データを作っていきます。e-statには、様々なオープンデータが保管されていますので、日々の業務で使うことがこれから出てくると思います。

■ 政府統計の総合窓口「e-Stat」
https://www.e-stat.go.jp/

■ 令和2年度(2020年)の都道府県別人口(国勢調査)
https://www.e-stat.go.jp/stat-search/file-download?statInfId=000032142402&fileKind=0

また、ブーリアンインデックスを用いたデータの抽出や、各要素から任意の文字を抽出する方法を用い、都道府県別人口データを作成します。使用するプログラムは、下記になります。

● str.contains()
● データ名[データ名[“列名”].str.contains(“文字列”)]
● データ名["列名"].str[数字1:数字2]

profile-image

すべてのビジネスパーソンが意思決定プロセスにデータを活用する思考を身につけ、ブルシットジョブをこの世からなくしていきましょう!

シェア

またはPlayer版

埋め込む »CMSなどでJSが使えない場合

(ダウンロード不可)

関連スライド

各ページのテキスト
1.

1 3rd STEP 応用編 医療 Section 9 都道府県別人口データを作成 92 データ名[“列名”].str.contains(“文字列”) 93 データ名[データ名[“列名”].str.contains(“文字列”)] 94 データ名["列名"].str[数字1:数字2]

2.

2 Section 9 都道府県別人口データを作成 1.ライブラリ「seaborn」のインポート 「Section 16 seabornでグラフ描画(1)」で解説したように、まずは、「seaborn」を読み 込みます。 「seaborn」は、同じくデータをグラフ化するライブラリ「matplotlib」の機能の一部を使いますの で、 「matplotlib」、ノートブックの結果セルに表示させる「%matplotlib inline」も一緒 にインポートします。 seabornで日本語を使うためには、「japanize-matplotlib」というパッケージ(ライブラリの 一部)をインポートします。「japanize-matplotlib」は、コラボには含まれていませんから、 「!pip install + ライブラリ」 でパッケージをインストールした後に、インポートします。 「import japanize_matplotlib」と、「_」を忘れないようにしましょう。

3.

3 Section 9 都道府県別人口データを作成 2.都道府県ごとの薬剤費をグラフ化(1) はじめに、都道府県ごとの薬剤費の合計をグラフ化して、特徴を見てみましょう。 「Section 17 seabornでグラフ描画(2)」で解説したグラフの体裁を整えるプログ ラム(次ページ参照)を適宜使います。また、都道府県名を表示すると重なり合って 見にくいので、68を使い、都道府県名を90°で表示します。 68 plt.xticks(rotation=角度)

4.

4 Section 9 都道府県別人口データを作成 3.都道府県ごとの薬剤費をグラフ化(2) グラフは、このようになります。 東京、愛知、大阪が突出していますが、これは、人口が多いので、当たり前ですね。

5.

5 都道府県ごとの薬剤費をグラフ化しましたが、人口が多い都道府県の薬剤費が 多いのは当たり前です。 そこで、各都道府県の人口を基に、人口10万人あたりの薬剤費を求め、グラフ 化していきましょう。

6.

6 Section 9 都道府県別人口データを作成 4.e-Statから都道府県別人口を探す(1) 政府統計の総合窓口「e-Stat」から、集計した令和2年度(2020年)と同じ、都道 府県別の人口を探してきます。 https://www.e-stat.go.jp/

7.

7 Section 9 都道府県別人口データを作成 5.e-Statから都道府県別人口を探す(2) 人口データは次の2つが存在しますが、ちょうど令和2年(2020年)に行われた国勢調 査がありますので、そのデータを使います。 国勢調査 人口動態調査 1.対象 10月1日現在、日本国内に住む全て の人(外国人を含む)及び世帯 国勢調査を基に毎月の増減を補正したもの 2.調査項目 男女の別、出生の年月、就業状態、 従業地または通学地、世帯員の数、 住居の種類、住宅の建て方 【保健所長】 毎月、市区町村長から送付された 人口動態調査票を下記のように取りまとめ、その 月の25日までに都道府県知事に送付 3.調査年 大正9年(1920年)からほぼ5年 ごと 【市区町村長】 出生、死亡、婚姻、離婚又は死産 の届出により、人口動態調査票を作成 ■前月中の出生、死亡及び死産であってその 月の14日までに届出があったものに係る分 ■前月中に届出があった婚姻及び離婚に係る分 【都道府県知事】 保健所長から人口動態調査票 の送付を受けた日の翌月5日までに厚生労働大 臣に送付

8.

8 Section 9 都道府県別人口データを作成 6. e-Statから都道府県別人口を探す(3) e-Statから令和2年度(2020年)の都道府県別人口を集計した表を探します。 ① ② ③ ④

9.

9 Section 9 都道府県別人口データを作成 7. e-Statから都道府県別人口を探す(4) ⑤ ⑥

10.

10 Section 9 都道府県別人口データを作成 8. e-Statから都道府県別人口を探す(5) こんな表が見つかりました。ファイル名は「b01_01」です。今回はこれを使います。 リンクアドレスは下記になります。 https://www.e-stat.go.jp/stat-search/file-download?statInfId=000032142402&fileKind=0

11.

11 Section 9 都道府県別人口データを作成 9.都道府県別人口を読み込む 見つけたExcelデータのURL(ダウンロード先)を「url」と宣言し、「pd.read_excel」を 使って、データを読込みます。 「skiprows」、「usecols」を使い、必要な要素だけを読み込みます。後で、「df5」とマー ジするために、「2020年_地域コード」は「object」として読み込んでおきます。

12.

12 Section 9 都道府県別人口データを作成 プログラム解説1 str.contains 「str.contains」を使うと、要素が特定の文字列を含むかどうかの真偽値(Trueもしくは False)をシリーズとして取得できます。 92 データ名[“列名”].str.contains(“文字列”) さらに、DataFrameに対して、真偽値型(bool型)を要素とするリストやシリーズを[]で 指定すると、Trueの行が抽出されます。これをブーリアンインデックス(Boolean indexing)と呼びます。 これを利用することにより、93のようにプログラムを書くと、該当する列に、該当する文字列を 含む行を抽出することができます。 93 データ名[データ名[“列名”].str.contains(“文字列”)] 92

13.

13 Section 9 都道府県別人口データを作成 10. 都道府県の人口だけを抽出する 読み込んだデータは、市町村や政令指定都市の区の人口も含まれています。 よく見ると、「pop」の列「Unnamed: 5」と列「 Unnamed: 6」を比べてみると、列 「Unnamed: 5」の下3桁が「000」となっているものは、都道府県になっています。 →このようにデータをよく見て法則性を見つけ、それをプログラミングに活かすことが重要です! そこで、92で真偽値を確認した後、93で行を抽出しましょう。該当する文字列は「000」 です。

14.

14 Section 9 都道府県別人口データを作成 プログラム解説2 .str[数字1:数字2] データ型が「object(文字列)」の列に関して、各要素から任意の文字を抽出するには、 下記のようなプログラムを書きます。 94 データ名["列名"].str[数字1:数字2] [数字1:数字2]はSection 9に出てきた「スライス」という範囲を指定する形式となっていま す。[開始 : 終了]で指定することができます。 Section 9では、「行番号」の範囲を指定 する時の使い方として、下記のように解説しました。 開始、終了を記入しない場合は、開始は0(すなわち先頭)、終了は末尾となります。 例えば、[ : 3]とすれば、最初の行から始まって、3番目(インデックスは「2」)の行までを 指定することになります。 前から数える場合は0始まりとなりますが、後ろから数える場合は-1始まりとなります。例 えば、[0 : -3]とすれば、最初の行から始まって、最後の行から数えて3番目までを指定 することになります。 今回のように、各要素の文字列の範囲もまったく同様な使い方ができます。この場合、左か ら数えて「数字1」番目から「数字2番目までを抽出することになります。

15.

15 Section 9 都道府県別人口データを作成 11.各要素から抽出した文字列の行を追加 「pop2」をコピーした「pop3」に、 「pop2」の列名「Unnamed: 5」の左2桁を抽出した 列名「都道府県番号」を追加します。 また、列名「人」を「人口」に変更します。