DPCデータの分析とかやるブログ

DPCデータの分析なんかをテキトーにやってます。

DPC出来高対比を可視化する

前々回はSeabornを使ったグラフ描画を紹介しました。
今回は具体的にデータの可視化を行ってみましょう。試しに、一ヶ月の患者別DPC出来高対比点数をグラフにしてみます。

import pandas.io.sql as psql
import psycopg2 as pg
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
import seaborn as sns

connection = pg.connect(database='ここにデータベース名を入れます',
                user='ユーザー名、postgresならデフォルトはpostgres',
                host='localhost',
                password='パスワードを入れましょう',
                port=5432)


data = psql.read_sql("WITH dsum AS ( \
select データ識別番号,入院年月日,sum(行為点数*行為回数) AS DPC総点数 \
from d1606 \
where データ区分 <> 97 \
group by データ識別番号,入院年月日), \
efsum AS( \
SELECT データ識別番号,入院年月日,SUM(出来高実績点数*行為回数) AS 出来高総点数 \
FROM ef1606 \
WHERE データ区分 <> 92 \
AND データ区分 <> 97 \
group by データ識別番号,入院年月日) \
select distinct d.データ識別番号,d.入院年月日, \
d.DPC総点数,e.出来高総点数,d.DPC総点数-e.出来高総点数 AS 点数差異 \
from dsum AS d \
INNER JOIN efsum AS e \
USING(データ識別番号,入院年月日)",connection)

    
sns.set(style="darkgrid")
sns.set_context("talk",1.5)

ax1 = sns.distplot(data['点数差異'],kde=0,norm_hist=0)
plt.show()
data.describe()

結果は「DPC点数-出来高点数」をヒストグラムにしたものです。 大きなマイナス、大きなプラスがグラフの左右に離れ小島のように存在するはずです。 f:id:stagira:20160704200831p:plain これに目をつけて「極端にマイナス(もしくはプラス)になるのはどんな例か見てもいいですし、逆に全体としての傾向に注目してもよいでしょう。