1.任务要求
对数据进行探索和分析
- 数据类型的分析
- 无关特征删除
- 数据类型转换
- 缺失值处理
- 其他
2.操作步骤
2.1数据类型的分布
共有4754条记录
float | int | object | total |
---|---|---|---|
70 | 13 | 7 | 90 |
需要对object对象进行处理
2.2 无关特征删除
删除部分内容
流水号:‘trade_no’
卡号:‘bank_card_no’
资源:‘source’
客户姓名:‘id_name’
最新查询时间:‘latest_query_time’
最新贷款时间:‘loans_latest_time’
2.3 数据类型转换
需要进行转换:城市等级:‘reg_preference_for_trad’
产看该类型下特征
- 一线城市
- 二线城市
- 三线城市
- 境外
- 其他城市
- nan
使用one-hot编码,分别用1,2,3,4,5进行代替
2.4 缺失值处理
删除缺失值超过 30%的特征
对于剩余的缺失值,这里采用 平均值填充法 进行填充
2.5 数据集切分
借助于sklearn进行切分
3.实现代码
import pandas as pd
import numpy as np
from sklearn.model_selection import train_test_split
data = pandas.read_csv('../data/data.csv',encoding='gbk')
data.info()
data = data.drop(['Unnamed: 0','trade_no','source','id_name','latest_query_time','loans_latest_time','bank_card_no'],axis=1)
for i in range(0, data.shape[0]):
if data.reg_preference_for_trad[i] == '一线城市':
data.reg_preference_for_trad[i] = 1
elif data.reg_preference_for_trad[i] == '二线城市':
data.reg_preference_for_trad[i] = 2
elif data.reg_preference_for_trad[i] == '三线城市':
data.reg_preference_for_trad[i] = 3
elif data.reg_preference_for_trad[i] == '境外':
data.reg_preference_for_trad[i] = 4
elif data.reg_preference_for_trad[i] == '其他城市':
data.reg_preference_for_trad[i] = 5
data = data.dropna(axis=1, thresh = 1000)
data = data.dropna(axis=0, thresh = 75)
data = data.fillna(data.median())
train_data, test_data = train_test_split(newdata, test_size=0.3, random_state=2018)
train_data.to_csv('./data/train_data.csv', index=False, header=True)
test_data.to_csv('./data/test_data.csv', index=False, header=True)