【第5回】取扱に手間がかかる表組みたち


前々回は症状が軽い神Excel、前回は地方公共団体コードについてお話をしてきました。今回は、神Excelと地方公共団体コードが組み合わさると、とても利用しにくいデータになるということについて述べていきたいと思います。症状としては重症扱いになるものです。
逆にこれらの問題点が解消されたら、データの前処理に関して9割ほどは解決したようなものです。まずは、前回お話しました地方公共団体コードが関係する場合です。

地方公共団体コードも利用すればいいってものではない

前回、データ内に市区町村名が入るデータに関しては地方公共団体コードを割り当てるとデータ処理がしやすいということについてお話しました。しかしながら、地方公共団体を利用していても利用しにくいデータがあります。具体的に見ていきます。

これから見るデータは厚生労働省が調査を行っている患者調査のデータです。平成26年患者調査の下巻(都道府県・二次調査圏内)34-1 病院の推計退院患者数(患者住所地),二次医療圏×傷病分類別(全国、北海道~静岡)です。


【図】05_01_医療圏コードと医療圏名が同じセルに入っている、出典リンク

データをご覧いただくとわかりますが、

列(横)方向に自治体名、医療圏別のデータが入力されています。
自治体、医療圏名と自治体コードと医療圏コードが同じ枠(セル)に入力されています。

前回、地方公共団体コードが利用されているとデータ処理がしやすいと前回述べましたが、それには地方公共団体コードと市区町村名は別のセルに入力されているということが前提になっています。そこで下図のように地方公共団体コード等と自治体名等を別のセルに入力しました。


【図】05_02_医療圏コードと医療圏名を別のセルにした

また、このデータは列方向にデータが拡張されていますが、行列を入れ替えると、データ処理がしやすくなります。多くの場合、列(横)方向にデータが大量に並ぶより、行(縦)方向にデータが並ぶほうがデータを目しやすいですし、データ処理がしやすくなります。


【図】05_03_列方向にデータを並べた
行列を入れ替えるだけで、データの活用がしやすくなります。

この表で改良した点は、

 1 自治体コードと自治体名を別のセル(枠)にわけた
 2 列(横)に長かった表を、行(縦)に長くした

この2点だけを改良しただけで、データの再利用が格段にしやすくなります。今みたのは、厚生労働省が調査を行っている患者調査データは列方向に医療圏データが拡張されて、また医療圏コードと医療圏名が同じセルに入る場合でした。

データは縦方向に並び替えると利用しやすい

今回は、行(縦)方向に自治体コードと自治体名が入力されている例です。具体的に検討しましょう。

このデータは厚生労働省 人口動態調査 人口動態調査 年次 2016年 – 人口動態統計 確定数 総覧 人口動態総覧,都道府県;保健所・市区町村別 01 北海道 CSV です。

【図】05_04_項目が1層、2層、3層になっている

こちらのデータも自治体コードと市町村名が同じ列に入っていることがわかります。このような場合は自治体コードと市区町村名を別の列にすると、データの並び替えがしやすくなります。また、列方向のデータ項目が1層、2層、3層になっています。出生数、死亡数、婚姻件数、離婚件数の列と(再掲)と記載されているセル(枠)は、そのセルの下にそれぞれの項目の内容が記載されています。多層階に項目が分かれるのは人の目ではデータが見やすい形式です。

しかし、並び替え等のデータ操作はしにくい形式です。

このような場合は、出生数_2500g未満、死亡数_うち乳児死亡数、死亡数_うち新生児死亡数等一つのセルに入力することで、データ加工の手間が省けます。


【図】05_05_項目名を1層にした コード番号と保健所名を分けた

さらにデータを利用しやすい形態にするには、項目という列をつくり、そこに出生数等を並べる方法です。


【図】05_06_複数の項目を1列にした

この表で改善した点は、

1 自治体コードと自治体名を分割した
2 列の項目の記入の仕方をかえた

さらにデータを利用しやすい形態にするには、項目という列をつくり、そこに出生数等を並べる方法です。


【図】05_07_項目ごとに多い順、少ない順に並び替えやすい

このように表を作成することで、項目ごとのデータの並び替えがしやすくなります。

一つの列に複数の情報が入力されている例

今度の表は、一つの列に複数の情報が入力されている例です。
この表は平成27年の市区町村別生命表です。この手の表はe-Statでダウンロードしたデータでよく見る形態です。


【図】05_08_1列に調査年自治体コード性別年齡という4項目が混在している

A列に平成27年という調査年、表自治体コード、性別、年齢という4つの情報が入っています。
B列には都道府県と市町村名、死亡率の2つの情報が入っています。

そして、このようなシートが7枚あります。このような表と複数のシートで性別、年齢別、自治体別に死亡率を比較する時は、この表を加工する必要が出てきます。具体的には調査年の列、市町村別コードの列、都道府県の列、市町村の列、性別の列を新たに作成する必要があります。これもまた、手間がかかる作業です。

しかし、下図のような形式であれば、データをダウンロード後にすぐにデータ解析を始めることができます。


【図】05_09_調査年、自治体コード、性別、年齡という4項目を別にした

まとめ

今回お話したのは
地方公共団体コードと自治体名は列(セル)を分けて表記する。
1列に1情報を徹底する。
1列に複数情報がある場合には、別の列を用意する。
データを作成する際に、将来このデータがどのように利用されるのかまで考え、表組み設計をするということです。

以上、5回を通じて中央省庁、地方公共団体が公開しているデータ形式が、こんなふうになれば使い勝手が良くなるだろうという、現場の声を述べてきました。このような表組みに対してはプログラム等を組み、自動的に処理する方法もあります。

しかし、プログラム等を利用して処理する方法はについて紹介することは、あえて避けてきました。というのも、プログラム等を利用してデータ整形処理をするよりも、最初から利用しやすいデータ形式で情報を提供することが国、地方公共団体の責務であり、それが個人、法人等のデータ再利用を促進すると考えるからです。データの利用促進のためには国、地方公共団体でデータ形式を共通化することが考えられます。

次回は、国と地方公共団体でデータ形式が異なる場合について見ていきます。


渡邉秀成

調査屋
1999年から公的機関、民間企業のデータベース整備、 各国政治家発言、企業経営者発言、 東日本大震災SNS、各国選挙SNS投稿、株式情報、有価証券報告書等のテキストデータ解析を行う。 国内の有権者投票行動調査は下記から。 https://datastats-election.info/

渡邉秀成の記事一覧