今回は在院日数についての分析を行いたいと思います。
というのも、下記の記事を読んだためです。
平均在院日数が、患者の回復速度を表し、短いほど病院が優れているという指標という考え方です。
データを集める
e-Statsでは、術前と術後に分けて、公開されています。
2014年なので少し古いです。
とりあえず、術前と術後は判別できるように新しいカラムとして期間として設けて分析できるように前処理します。
分析
せっかく術前と術後に分かれているので積み上げグラフを出してみます。
temp = data.query("分類 == '総数'") labels = data.columns[2:] before_ope = temp.iloc[0,2:] after_ope = temp.iloc[1,2:] from pylab import rcParams rcParams['figure.dpi'] = 150 total = [num1 + num2 for num1,num2 in zip(before_ope,after_ope)] fig,ax = plt.subplots() plt.xticks(rotation=90) plt.title('総数') ax.bar(labels,total,label='after_ope') ax.bar(labels,before_ope,label='before_ope') ax.legend()
本を読んでやっているのですが、仕組みとしては
- A+Bの棒グラフをBのグラフとして描画
- その上にAだけの棒グラフをAのグラフとして描画して被せる
- Aだけの棒グラフが被らないところがBのグラフとして見える
ちょっとインチキっぽいですが。
うーん。出してはみたものの、よくわかんないですね。
やはり、都道府県別にソートしてみたいところ。
それには都道府県別に列ではなく行としたいので、転置を用います。
temp = data.query("分類 == '総数'").T temp['合計'] = temp['術前'] + temp['術後'] temp = temp[2:].sort_values(by='合計') temp
術前+術後の合計では、東京、愛知、神奈川、埼玉、そして沖縄の順に短いことがわかりました。
ちなみに、術前では、広島、佐賀、群馬、熊本、新潟です。
術後では、神奈川、愛知、東京、埼玉、沖縄と合計と同じような結果となります。
術前と術後を散布図にしてはみたものの、相関はそこまではなさそう。
回帰分析したくなる状況ではありません。
都道府県別のカラーマップ
以前、都道府県別の病院数についての分析を行いましたが、japanmapは素晴らしいのですが、サイズの小ささが気になっていました。
下記の記事を参考に対応します。
python - figure of imshow() is too small - Stack Overflow
下記ぐらいが、個人的には良いかと
plt.subplots(figsize=(10, 10)) plt.imshow(picture(color_map), interpolation='nearest', aspect='auto')
短い(緑)-平均(黄色)-長い(赤)
在院期間が長い都道府県が、やや目立つ感じです。
症例の種別ごとの分析は、まだ次の機会に。