系列文章
手把手教你數據分析(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
----------