Juputer:利用python的pandas數(shù)據(jù)分析人群收入模型1

首先導(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ù)處理工作。

?

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

推薦閱讀更多精彩內(nèi)容