首先導(dǎo)入需要的模塊
''''
import pandas as pd
import numpy as np
''''
導(dǎo)入需要分析的數(shù)據(jù)文件
'data=pd.read_csv('lnp.csv',index_col='L')'
當(dāng)導(dǎo)入一個數(shù)據(jù)文件時,首先需要簡單分析下數(shù)據(jù)文件的內(nèi)容。根據(jù)自己的需要同時查看多列索引的內(nèi)容,有利于思考后面采用那種分析方式和模塊函數(shù)。
'data.loc[(data['Gender']=='Female')&(data['Education']=='Not Graduate')
),['Gender','Education','resume']].head(5)'
自定義函數(shù),查找關(guān)鍵列的數(shù)據(jù)缺失情況
''''
#Create a new function:
def num_miss(x):
return sum(x.isnull())
print data.apply(num_miss, axis=1).head()
''''
依據(jù)數(shù)據(jù)類型的不同,采用不懂的方式進行數(shù)據(jù)填充:
1.對于像性別等非重要數(shù)據(jù)類型,可根據(jù)統(tǒng)計數(shù)據(jù)的總數(shù)的概率分布,對其進行數(shù)據(jù)填充。
'data['Gender'].fillna(mode(data['Gender'])[0][0], inplace=True)'
2.對于關(guān)鍵性的數(shù)據(jù)可采用mean、median、mode等許多不同的方法,對于收入這列數(shù)據(jù)采用分析mean的方式填充缺失值。
''''
import_nan=data.pivot_table(values=["resume"],index["Gender","Married","Employed"], aggfunc=np.mean)
import_nan #查看數(shù)據(jù)類型與結(jié)構(gòu)
''''
由于得到的是一個多索引的二維數(shù)據(jù),因此需要利用多次循環(huán)對源數(shù)據(jù)缺失值進行賦值
''''
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]
''''
以上是對源數(shù)據(jù)的基本數(shù)據(jù)處理工作。
?