#275 マテリアルフロー推計の改善に向けて
これまで、山梨県と大阪府におけるマテリアルフロー推計に取り組んできました。現状の推計方法において、以下のような問題点が浮き彫りとなりました。
- 推計に伴って作成されるExcelファイルの数が多い
- jupyterLab上のセルの数が多い
- コードのコピペ
それぞれの問題点について、順に説明していきます。
1.推計に伴って作成されるExcelファイルの数が多い
例えば、2015年大阪府のマテリアルフロー推計時に作成したExcelファイルは、実に45個にも上りました。
これだけExcelファイルが存在すると、1つのExcelファイルを更新した場合、関連する他のExcelファイルも更新する必要が生じ、更新作業が膨大になることが予想されます。
加えて、時間が経つにつれてファイル同士の関連性を忘れてしまい、ファイルを1つ更新する必要性が生じた際、他にどのファイルを同時に更新すればよいのかがわからなくなる恐れがあります。
2.JupyterLab上のセルの数が多い
推計を行うプログラムのコードは、JupyterLabにPythonで記述しました。JupyterLabでは、セルにコードを記述し、実行結果を即座に確認できる利点があります。
このたびの推計では、実行結果を1つ1つ確認しながら少しずつ推計を進めていたので、結果的にセルの数が多くなってしまいました。例えば、2015年山梨県マテリアルフロー推計の場合、31個のものセルがありました。
3.コードのコピペ
2015年大阪府マテリアルフロー推計においては、2015年山梨県マテリアルフロー推計で使用したコードを再利用することにしました。その際、上述の31個のセルを一つ一つ手でコピー・アンド・ペーストしていました。
既にコピペしたセルを再度余計にコピペするといったミスが度々ありました。また、推計対象を全47都道府県に広げることを考えた場合、手動でのコピペだと作業数が膨大になることが危惧されます。
以上の問題点について、以下に述べるような改善を行っていこうと思います。
- 脱Excel化
- 分散したセルをマージしてまとめる
脱Excel化
Excelファイルの数が増加した要因は、Excelファイル上で手計算し、計算結果もExcelファイルに保存したことにあります。なので、Excelファイル上での計算を極力避ければよいと考えました。
本研究で用いる主な統計データは、港湾調査と物流センサスになります。そのうち、港湾調査は、e-statにおいてExcelファイルに加えて、APIが公開されているので、今後はAPIを利用することにします。
一方、物流センサスは、現状e-statにおいてはデータベース化されておらず、APIを利用することもできない状態です。提供されているのはExcelファイルのみです。
したがって、推計に必要な最低限のExcelファイルのみをダウンロードし、それらをpandasで読み込み、DataFrameに変換してから推計を行っていきます。Excelファイル上での手計算の工程をなくすことで、生成されるエクセルの数をできるだけ抑えるようにします。
分散したセルをマージしてまとめる
jupyterLab上に分散しているセルをできるだけマージして、コードをまとめていきます。最終的には1つのまとまったコードを実行するだけで、推計が可能となるようにしていければと考えています。
また、そのまとまったコードは、都道府県名もしくは都道府県コードを変更するだけで異なる都道府県の推計が可能となるようにすれば、コピペ作業も不要になります。