# 数据处理一:去除字符串数值前面的空格
str_cols=[1,3,5,6,7,8,9,13,14]
for col in str_cols:
df.iloc[:,col]=df.iloc[:,col].map(lambda x: x.strip())
# 数据处理二: 删除缺失值样本
# 将?字符串替换为NaN缺失值标志
import numpy as np
df.replace("?",np.nan,inplace=True)
# 此处直接删除缺失值样本(包含缺失值的行都删除)
df.dropna(inplace=True)
# 数据处理三:对字符数据进行编码
from sklearn.preprocessing import LabelEncoder
label_encoder=[] # 放置每一列的encoder
encoded_set = np.empty(df.shape)
for col in range(df.shape[1]):
encoder=None
if df.iloc[:,col].dtype==object: # 字符型数据
encoder=Label