手把手教你數據分析(2)--缺失值處理

系列文章
手把手教你數據分析(1)--Pandas讀取Excel信息
手把手教你數據分析(2)--缺失值處理
手把手教你數據分析(3)--數據可視化

00準備工作:

素材:一份全國各省市市委書記數據表.xls
(鏈接: https://pan.baidu.com/s/1gbgvcLbfEMM-9hFCZw1VlQ 密碼: p66u)
編程環境:mac + anaconda + jupyter notebook + python3.6
目錄:
01 分析市委書記中的男女比例
02 不同省份女性領導人性別占比

01 要點

001 對缺失值處理 data_gender_re = data_gender[data_gender.notna()]
002 describe會自動對缺失值處理
003 print字符串時,使用str將數值轉化為字符串
004 pandas.crosstab()類似于Excel中的數據透視表
005 pandas.sort_values(by = ['xxx'], ascending = False)可以將數據排序,ascending = False表示降序

02 操作源碼

#021 缺失值處理
#市委書記性別比例
data_gender_re = data_gender[data_gender.notna()]#notna() = notnull()
print(data_gender_re.head(10))
print(len(data))
#describe 會自動對缺失值進行去除
#使用len()計算長度
print('----------')
print(data_gender_re.unique())
print('----------')
count = len(data_gender_re)
count_m = len(data_gender_re[data_gender_re=="男"])
count_w = len(data_gender_re[data_gender_re=="女"])
rate_m = count_m/count
rate_w = count_w/count
print("樣本總量:"+str(count)+'\n'
     "女性樣本量:"+str(count_w)+'\n'
     "男性樣本量:"+str(count_m)+'\n'
     "女性占比:"+str(rate_w*100)[0:4]+'%'+'\n'
     "男性占比:"+str(rate_m*100)[0:4]+'%'+'\n')#str()將數值型值轉換成字符型值
print('----------')
121    男
122    男
123    男
124    男
125    男
126    男
127    男
128    男
129    男
130    男
Name: 性別, dtype: object
3663
----------
['男' '女']
----------
樣本總量:2708
女性樣本量:75
男性樣本量:2633
女性占比:2.76%
男性占比:97.2%

----------
#022 
#女性在不同省份的占比
data_gender2 = data[["省級政區名稱","性別"]]
data_gender2_re = data_gender2[data_gender2['性別'].notnull()]
print(data_gender2_re.head(10))
print('----------')

pt = pd.crosstab(data_gender2_re['省級政區名稱'],data_gender2_re['性別'])
print(pt.head(10))
#crosstab 類似數據透視表
print('----------')

pt['女性占比'] = pt['女']/(pt['女']+pt['男'])
#直接在pt新加一字段“女性占比”
pt2 = pt.sort_values(by = ['女性占比'], ascending=False)
#pt.sort_values()排序,ascending = False 降序排列
print(pt2.head(10))
print('----------')
    省級政區名稱 性別
121    山西省  男
122    山西省  男
123    山西省  男
124    山西省  男
125    山西省  男
126    山西省  男
127    山西省  男
128    山西省  男
129    山西省  男
130    山西省  男
----------
性別       女    男
省級政區名稱         
云南省      2   73
內蒙古自治區   0   86
吉林省      4   72
四川省      8  155
寧夏回族自治區  0   49
安徽省      7  167
山東省      6  178
山西省      6  112
廣東省      5  212
廣西壯族自治區  0  122
----------
性別       女    男      女性占比
省級政區名稱                   
遼寧省     13  121  0.097015
陜西省      9   93  0.088235
吉林省      4   72  0.052632
山西省      6  112  0.050847
四川省      8  155  0.049080
安徽省      7  167  0.040230
江西省      4  113  0.034188
山東省      6  178  0.032609
福建省      3   96  0.030303
云南省      2   73  0.026667
----------
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容