关于数据预处理中的“删除缺失值最多的列”的代码实现:
import os
import pandas as pd
os.makedirs(os.path.join('.', 'data'), exist_ok=True)
data_file = os.path.join('.', 'data', 'house_huge.csv')
with open(data_file, 'w') as f:
f.write('NumRooms,Alley,height,area,Price\n') # 列名
f.write('NA,Pave,25,100,127500\n') # 每行表示一个数据样本
f.write('2,NA,15,NA,106000\n')
f.write('4,NA,2,80,178100\n')
f.write('NA,NA,NA,150,140000\n')
data = pd.read_csv(data_file)
inputs, outputs = data.iloc[:, 0:4], data.iloc[:, 4]
1、找出每列的缺失值个数
nan_num = inputs.isnull().sum(axis=0)
2、找出缺失值最多的列的索引
nan_max_id = nan_num.idxmax()
3、删除缺失值最多的那一列
inputs = inputs.drop([nan_max_id], axis=1)