首先导入需要的模块
''''
import pandas as pd
import numpy as np
''''
导入需要分析的数据文件
'data=pd.read_csv('lnp.csv',index_col='L')'
当导入一个数据文件时,首先需要简单分析下数据文件的内容。根据自己的需要同时查看多列索引的内容,有利于思考后面采用那种分析方式和模块函数。
'data.loc[(data['Gender']=='Female')&(data['Education']=='Not Graduate')
),['Gender','Education','resume']].head(5)'
自定义函数,查找关键列的数据缺失情况
''''
#Create a new function:
def num_miss(x):
return sum(x.isnull())
print data.apply(num_miss, axis=1).head()
''''
依据数据类型的不同,采用不懂的方式进行数据填充:
1.对于像性别等非重要数据类型,可根据统计数据的总数的概率分布,对其进行数据填充。
'data['Gender'].fillna(mode(data['Gender'])[0][0], inplace=True)'
2.对于关键性的数据可采用mean、median、mode等许多不同的方法,对于收入这列数据采用分析mean的方式填充缺失值。
''''
import_nan=data.pivot_table(values=["resume"],index["Gender","Married","Employed"], aggfunc=np.mean)
import_nan #查看数据类型与结构
''''
由于得到的是一个多索引的二维数据,因此需要利用多次循环对源数据缺失值进行赋值
''''
for i,row in data.loc[data['resume'].isnull(),:].iterrows():
ind = tuple([row['Gender'],row['Married'],row['Employed']])
data.loc[i,'resume'] = import_nan[ind].values[0]
''''
以上是对源数据的基本数据处理工作。
网友评论