import numpy as np import pandas as pd import matplotlib.pyplot as plt import seaborn as sns # 設置風格,seaborn有5種基本風格,context表示環境 sns.set(style="white", context="notebook") # 處理中文問題 sns.set_style('whitegrid', {'font.sans-serif':['simhei', 'Arial']}) data = pd.read_csv('D:\\myfiles\\study\\python\\analyse\\數據團\\城市數據團_數據分析師_體驗課_課程資料\\數據資料\\地市級黨委書記數據庫(2000-10).csv', encoding='gbk') data_gender2 = data[['省級政區名稱','性別']] data_gender2_re = data_gender2[data_gender2['性別'].notnull()] pt = pd.crosstab(data_gender2_re['省級政區名稱'], data_gender2_re['性別']) pt['女性佔比'] = pt['女'] / (pt['女'] + pt['男']) pt2 = pt.sort_values(by = ['女性佔比'], ascending = False) fig = plt.figure(figsize=(10,4)) x = ['遼寧','山西','吉林','陝西','四川','安徽','江西','山東','福建','雲南'] pt2['女性佔比百分數'] = pt2['女性佔比'] *100 y = pt2[:10]['女性佔比百分數'].tolist() # 設定x,y值 sns.barplot(x, y, palette="BuPu_r") plt.title('女性佔比百分數') plt.ylabel('Per %') # 數據可視化:柱狀圖 sns.despine(bottom=True) plt.show()