快速生成描述性报告
pandas_profiling需要安装(失败)
import pandas_profiling as pp
pp.ProfileReport(data)
查看变量基本信息
data.describe()
查看数据行列数
train_data.shape , test_data.shape
查看数据个数
ntr = len(train_data)
查看数据分类名称 unique()
data['护理来源'].unique()
数据分类计数 value_counts()
data['out'].value_counts()
新增列并赋值
# 新增因变量列,赋值缺失值,合并前区分数据集
test_data['肝炎'] = 'nan'
获取列名、合并数据集
# 列名列表
dcols = list(train_data.columns)
# 按同一列名合并,重置行标签
d0 = pd.concat([train_data[dcols],test_data[dcols]]).reset_index(drop=True)
删除无用列变量
d0.drop('ID',axis= 1,inplace=True)
分类变量编码
### 硬编码(树形模型适用)
from sklearn.preprocessing import LabelEncoder
x['区域'] = LabelEncoder().fit_transform(x['区域'])
### 哑变量(使用回归时)(自动识别分类变量)
d0 = pd.get_dummies(d0)
### 自己编码
## 对性别进行编码
def gender(x):
if x=='M':
return 0
else:
return 1
d0['性别']=d0['性别'].apply(gender)
## 对区域进行编码
def district(x):
if x=='east':
return 1
elif x=='south':
return 2
elif x=='north':
return 3
else:
return 4
d0['区域']=d0['区域'].apply(district)
## 对护理来源进行编码
def care(x):
if x=='Governament Hospital':
return 1
if x=='Never Counsulted':
return 2
if x=='Private Hospital' or x==' ':
return 3
if x=='clinic':
return 4
d0['护理来源']<