day5
离散特征的独热编码
先按照示例代码过一遍,然后完成下列题目
现在在py文件中 一次性处理data数据中所有的连续变量和离散变量
1. 读取data数据
2. 对离散变量进行one-hot编码
3. 对独热编码后的变量转化为int类型
- 对所有缺失值进行填充
注意是py文件中,所以每一步的输出是否正确需要你来使用debugger功能来逐步查看
# 读取数据
import pandas as pd
data = pd.read_csv("data.csv")
# 查看数据信息
data.info()
# 查看列表数据格式
print(data.dtypes)
# 对离散特征进行独热编码
discrete_list = []
for i in data.columns:
if data[i].dtype == 'object':
discrete_list.append(i)
data = pd.get_dummies(data,columns = discrete_list,drop_first=True)
print(data.dtypes)
# 对独热编码的列转化成int类型
data2 = pd.read_csv("data.csv")
lists_final = data.columns.difference(data2.columns)
# lists_final = []
# for i in data.columns:
# if i not in data2.columns:
# lists_final.append(i)
data[lists_final] = data[lists_final].astype('int')
print(data.dtypes)
#查看并补全缺失值
print(data.isnull().sum())
for i in data.columns:
if data[i].isnull().sum() > 0:
mean_value =data[i].mean()
data[i].fillna(mean_value,inplace=True)
print(data.isnull().sum())