2018/04/05

意味のないグラフだが、大きな一歩である・・・かもしれないグラフ

いつもデータ分析はExcel、Access、SQL Server、R、Cで行っている。

Excel:数万件までの処理に最適。グラフ作成→パワーポイント・ワードの流れも容易

Access、SQL Server:件数が多く、SQLでの集計やテーブルの結合などを多用する場合に利用。ExcelのVLOOKUP等の処理が遅くなるような問題は大抵回避できる

R:統計解析で利用

C:大量データの抽出処理で利用。学生時代によく使用していた言語

これ以外にも、Web上のデータ収集にはExcelのVBAマクロを使ったり、APIを使ったデータ収集ではJavaを使ったりしている。

これらに加えて、今年からPythonを試行している。
例えば、介護事業経営実態調査(平成29年介護事業経営実態調査 年度次 | 政府統計の総合窓口)で開示されたエクセルファイル。複数のエクセルファイルを開くことなく、データを抽出し、整形し、グラフを作るところまで、プログラミングしてみた。

下は、出力したグラフの例。まず、常勤職員の「施設種類ごとの平均賃金」の分布を見たもの。職種別に6級地と7級地で比較できるようにしている。なお、PT、OT、STはばらつきが少ないように見えるが、対象施設種類が少ないためである。

職種ごとの賃金分布(常勤) 左:6級地 右:7級地
出所: 厚労省 平成29年介護事業経営実態調査を基に分析

次は、常勤・非常勤、施設種類、職種、の各条件を揃えた場合に、5級地と6級地の平均賃金を比較したグラフ。左は常勤、右は非常勤で構成している。

5級地と6級地の相関関係 左:常勤 右:非常勤
出所: 厚労省 平成29年介護事業経営実態調査を基に分析

どのグラフも、「だから何?」という結果だ。でも、グラフに大した意味などない。目的はPythonの練習。ゆえに、プログラム実行で、20以上のエクセルファイルから指定のセルの値を抜き出し、グラフ作成できただけで十分だ。

・・・と、ExcelのマクロやRでも近いことができていた内容ではあるが、だいぶ簡素な記述で実現できている(自己満足!!)。まだ不慣れなPythonをメインにして業務を行うのは非現実的だが、徐々にレベルをあげていきたい。