いつもデータ分析は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をメインにして業務を行うのは非現実的だが、徐々にレベルをあげていきたい。