医疗数据描述性分析

2019-06-10  本文已影响0人  Vector_Wan

1. 患者基本信息分析

这部分数据都是关于鼻咽癌患者的基本信息,我们尝试分析一下看看这些患者有没有什么特征。首先导入数据。

import pandas as pd
df = pd.read_csv("D:\jupyter\医疗数据建模\data\TB_PAT_BASE_INFO_BYA.csv", encoding='GBK')
df.sample(10)

默认时数据的编码方式是‘utf-8’,但是这组数据使用的是‘GBK’,所以需要加入encoding参数,最后数据已经成功导入了,从数据的随机抽样中可以看到数据主要包括九个特征和一个序号列,这九个特征分别是:患者ID,性别,年龄,是否已婚,血型,民族,工作,省份,城市,似乎这些特征与我们要分析的鼻咽癌关系并不是很大,我们先研究研究他们。

首先我们在不修改任何数据的前提下了解熟悉一下这些数据,首先我们先来看看性别:

df.SEX.value_counts().iloc[:10]
男性    509
女性    150
Name: SEX, dtype: int64
df.SEX.value_counts().iloc[:10].plot(kind='barh')

似乎大多数鼻咽癌患者都是男性,我猜测这可能是与男性吸烟人数较多有关,我们再来看看年龄:

df.AGE.value_counts().iloc[:10]
46    31
49    28
45    25
42    24
51    24
43    24
44    24
48    23
40    22
39    22
Name: AGE, dtype: int64
df.groupby('AGE').size().plot(kind='bar')
df.AGE.describe()
count    659.000000
mean      44.817906
std       11.324191
min        5.000000
25%       37.500000
50%       45.000000
75%       52.000000
max       71.000000
Name: AGE, dtype: float64

从上面的分析和统计图中可以看出,从年龄最小 5 岁到年龄最大 71 岁都有人患鼻咽癌,但是患者年龄主要集中在 45 岁左右。

下面我们再来看一下患者的婚姻状况

df.MARRIAGE.value_counts()
已婚    622
未婚     37
Name: MARRIAGE, dtype: int64

大多数已经结婚了,不过这也与我们的患者年龄大多数集中在45岁左右有关,男士大多数在这个年龄基本上都已经结婚了。

再来看一下血型,从抽样中也可以看出有很大一部分患者的血型我们并不清楚

df.ABO_BLOOD.value_counts()
不详     375
O型     156
B型     102
AB型     25
A型       1
Name: ABO_BLOOD, dtype: int64

在上面的分析中可以观察到,在血型已知的患者中,A型血的人很少只有 1 人,O 型与 B 型血的人很多都有一百多人。

df.NATION.value_counts()
汉族    659
Name: NATION, dtype: int64

全部都是汉族人,我们再来看一下患者的职业分布有什么特点:

df.JOB.value_counts()
职员         259
无业人员       104
农民          87
其他          77
个体经营者       37
退(离)休人员     32
国家公务员       24
学生          17
专业技术人员      14
工人           8
Name: JOB, dtype: int64

大多数是职员,无业人员与农民患者也较多,最后我们再来看一下患者的地理分布情况

df.CITY.value_counts().head(10)
广州市    68
深圳市    48
惠州市    41
东莞市    30
佛山市    29
阳江市    20
清远市    19
河源市    17
肇庆市    17
汕头市    13
Name: CITY, dtype: int64

从上面的分析中可以看到患者大多数来自南方各城市,也有少数来自北方

地理位置

2. 药物使用情况分析

药物使用情况分布在了三个文件中,我们首先将他们全部导入:

df2 = pd.read_csv("D:\jupyter\医疗数据建模\data\medicine.csv", encoding='GBK')
df3 = pd.read_csv("D:\jupyter\医疗数据建模\data\medicine2.csv", encoding='GBK')
df4 = pd.read_csv("D:\jupyter\医疗数据建模\data\medicine3.csv", encoding='GBK')
df2.sample(10)
df2.CHEMOTHERAPY_PRESCRIBED_DRUG.value_counts().head(10)
TC         297
GP         279
PF         222
TPF        155
TP         121
DDP         75
ABX+DDP     50
希罗达         49
吉西他滨        44
DP          43
Name: CHEMOTHERAPY_PRESCRIBED_DRUG, dtype: int64
df2.CHEMOTHERAPY_PRESCRIBED_DRUG.value_counts().head(10).plot(kind='bar')

从上图可以初步分析得到药物 TC GP PF 使用的较多。但是从抽样的数据中也可以看出,在我们的数据中有很多的缩写,还有一些复合方案,这使得我们的分析有些不准确,我们以后会解决这个问题。

上一篇 下一篇

猜你喜欢

热点阅读