import pandas as pd
import numpy as np
import seaborn as sns
导入数据集
train_data = pd.read_csv("data/train.csv",encoding='gbk')
train_data.head()
| 编号 | 性别 | 出生年份 | 体重指数 | 糖尿病家族史 | 舒张压 | 口服耐糖量测试 | 胰岛素释放实验 | 肱三头肌皮褶厚度 | 患有糖尿病标识 |
---|
0 | 1 | 0 | 1996 | 30.1 | 无记录 | 106.0 | 3.818 | 7.89 | 0.0 | 0 |
---|
1 | 2 | 0 | 1988 | 27.5 | 无记录 | 84.0 | -1.000 | 0.00 | 14.7 | 0 |
---|
2 | 3 | 1 | 1988 | 36.5 | 无记录 | 85.0 | 7.131 | 0.00 | 40.1 | 1 |
---|
3 | 4 | 1 | 1992 | 29.5 | 无记录 | 91.0 | 7.041 | 0.00 | 0.0 | 0 |
---|
4 | 5 | 0 | 1998 | 42.0 | 叔叔或者姑姑有一方患有糖尿病 | NaN | 7.134 | 0.00 | 0.0 | 1 |
---|
test_data = pd.read_csv("data/test.csv",encoding='gbk')
test_data.head()
| 编号 | 性别 | 出生年份 | 体重指数 | 糖尿病家族史 | 舒张压 | 口服耐糖量测试 | 胰岛素释放实验 | 肱三头肌皮褶厚度 |
---|
0 | 1 | 0 | 1987 | 33.1 | 无记录 | 72.0 | 6.586 | 24.16 | 2.94 |
---|
1 | 2 | 0 | 1998 | 20.6 | 叔叔或者姑姑有一方患有糖尿病 | 68.0 | 3.861 | 0.00 | 0.00 |
---|
2 | 3 | 1 | 1979 | 42.1 | 无记录 | 98.0 | 5.713 | 0.00 | 3.53 |
---|
3 | 4 | 0 | 1999 | 34.6 | 无记录 | 66.0 | 4.684 | 0.00 | 3.14 |
---|
4 | 5 | 0 | 1997 | 27.7 | 无记录 | 89.0 | 7.948 | 14.65 | 2.65 |
---|
train_data['糖尿病家族史'].unique()
array(['无记录', '叔叔或者姑姑有一方患有糖尿病', '叔叔或姑姑有一方患有糖尿病', '父母有一方患有糖尿病'],
dtype=object)
train_data['体重指数'].describe()
count 5070.000000
mean 37.986785
std 11.447095
min 0.000000
25% 28.400000
50% 36.550000
75% 47.600000
max 65.900000
Name: 体重指数, dtype: float64
train_data.groupby("患有糖尿病标识")["体重指数"].apply(np.mean)
患有糖尿病标识
0 34.586981
1 43.490393
Name: 体重指数, dtype: float64
train_data.groupby("患有糖尿病标识")["胰岛素释放实验"].apply(np.mean)
患有糖尿病标识
0 3.040032
1 5.853383
Name: 胰岛素释放实验, dtype: float64
train_data.groupby("患有糖尿病标识")["口服耐糖量测试"].apply(np.mean)
患有糖尿病标识
0 5.296785
1 6.124467
Name: 口服耐糖量测试, dtype: float64
train_data.groupby("患有糖尿病标识")["肱三头肌皮褶厚度"].apply(np.mean)
患有糖尿病标识
0 2.588535
1 14.126544
Name: 肱三头肌皮褶厚度, dtype: float64
data1 = train_data[train_data["患有糖尿病标识"] == 1]["肱三头肌皮褶厚度"]
data2 = train_data[train_data["患有糖尿病标识"] == 0]["肱三头肌皮褶厚度"]
ax1 = sns.kdeplot(data1.to_numpy(),shade=True,color="r")
ax2 = sns.kdeplot(data2.to_numpy(),shade=True,color="g")
ax3 = sns.kdeplot(train_data["肱三头肌皮褶厚度"].to_numpy(),shade=True,color="y")
data1 = train_data[train_data["患有糖尿病标识"] == 1]["体重指数"]
data2 = train_data[train_data["患有糖尿病标识"] == 0]["体重指数"]
ax1 = sns.kdeplot(data1.to_numpy(),shade=True,color="r")
ax2 = sns.kdeplot(data2.to_numpy(),shade=True,color="g")
ax3 = sns.kdeplot(train_data["体重指数"].to_numpy(),shade=True,color="y")
data1 = train_data[train_data["患有糖尿病标识"] == 1]["口服耐糖量测试"]
data2 = train_data[train_data["患有糖尿病标识"] == 0]["口服耐糖量测试"]
ax1 = sns.kdeplot(data1.to_numpy(),shade=True,color="r")
ax2 = sns.kdeplot(data2.to_numpy(),shade=True,color="g")
ax3 = sns.kdeplot(train_data["口服耐糖量测试"].to_numpy(),shade=True,color="y")
data1 = train_data[train_data["患有糖尿病标识"] == 1]["胰岛素释放实验"]
data2 = train_data[train_data["患有糖尿病标识"] == 0]["胰岛素释放实验"]
ax1 = sns.kdeplot(data1.to_numpy(),shade=True,color="r")
ax2 = sns.kdeplot(data2.to_numpy(),shade=True,color="g")
data1 = train_data[train_data["患有糖尿病标识"] == 1]["出生年份"]
data2 = train_data[train_data["患有糖尿病标识"] == 0]["出生年份"]
ax1 = sns.kdeplot(data1.to_numpy(),shade=True,color="r")
ax2 = sns.kdeplot(data2.to_numpy(),shade=True,color="g")