@浙大疏锦行
离散特征的独热编码
题目:在py文件中 一次性处理data数据中所有的连续变量和离散变量
1. 读取data数据
2. 对离散变量进行one-hot编码
3. 对独热编码后的变量转化为int类型
4. 对所有缺失值进行填充
# 读取data数据
import pandas as pd
data = pd.read_csv('data.csv')
# 对离散变量进行one-hot编码
# 找到离散变量
discrete_lists = []
for discrete_features in data.columns:
if data[discrete_features].dtype == 'object':
discrete_lists.append(discrete_features)
# 离散变量独热编码
data = pd.get_dummies(data, columns=discrete_lists)
# 对比独热编码前后的列名
data2 = pd.read_csv("data.csv")
list_final = data.columns.difference(data2.columns)
# 对bool特征进行类型转换
for i in list_final:
data[i] = data[i].astype(int)
# 用均值填补缺失值
for i in data.columns:
if data[i].isnull().sum() > 0:
mean_value = data[i].mean()
data[i].fillna(mean_value,inplace=True)