版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
模塊一人口與GDP數(shù)據(jù)分析Python數(shù)據(jù)分析與可視化典型項目實戰(zhàn)(微課版)【任務(wù)描述】人口是影響國家和地區(qū)發(fā)展的重要因素,我國在2020年開展了第七次全國人口普查,普查標準時點是2020年11月1日零時。第七次全國人口普查是新時代開展的一次重大國情國力調(diào)查,全面查清了我國人口數(shù)量、結(jié)構(gòu)、分布等方面的情況,為完善我國人口發(fā)展戰(zhàn)略和政策體系,促進人口長期均衡發(fā)展,科學(xué)制定國民經(jīng)濟和社會發(fā)展規(guī)劃,推動經(jīng)濟高質(zhì)量發(fā)展,開啟全面建設(shè)社會主義現(xiàn)代化國家新征程,向第二個百年奮斗目標進軍,提供科學(xué)準確的統(tǒng)計信息支持?!救蝿?wù)要求】在JupyterNotebook開發(fā)環(huán)境中創(chuàng)建tc01-01.ipynb,然后在單元格中編寫代碼并輸出對應(yīng)的結(jié)果?!救蝿?wù)1-1】第七次全國人口普查數(shù)據(jù)分析與視化第七次全國人口普查數(shù)據(jù)分析與視化導(dǎo)入通用模塊的代碼詳見“本書導(dǎo)學(xué)”,導(dǎo)入其他模塊的代碼如下:frommons.utilsimportJsCodeimportrandompd.set_option('precision',2)importaltairasalt1.導(dǎo)入模塊第七次全國人口普查數(shù)據(jù)分析與視化(1)讀取數(shù)據(jù)2.2020年全國及各地區(qū)每10萬人口中擁有的各類受教育程度人數(shù)分布數(shù)據(jù)分析與可視化df_edu=pd.read_excel(r"data\2020年地區(qū)每10萬人口中擁有的各類受教育程度人數(shù).xlsx")(2)查看部分數(shù)據(jù)df_edu.head()(3)定義列名df_edu.columns=["地區(qū)","大學(xué)","高中","初中","小學(xué)"]第七次全國人口普查數(shù)據(jù)分析與視化(4)查看是否存在缺失值df_edu.isnull().sum()(5)刪除“地區(qū)”列中多余的空格df_edu['地區(qū)']=df_edu['地區(qū)'].str.replace('','')(6)復(fù)制數(shù)據(jù)集education=df_edu.copy()(7)計算受教育程度為“其他”的人數(shù)education['其他']=100000-education['大學(xué)']-education['高中']-education['初中']-education['小學(xué)']第七次全國人口普查數(shù)據(jù)分析與視化(8)對數(shù)據(jù)集進行排序education.sort_values(by=['大學(xué)','高中','初中','小學(xué)','其他'],ascending=False,inplace=True)(9)繪制堆疊柱形圖matplotlib.rc('figure',figsize=(16,8))education.plot.bar(x='地區(qū)',y=['大學(xué)','高中','初中','小學(xué)','其他'],stacked=True)plt.title('各地區(qū)每10萬人口中各類受教育程度的人數(shù)',loc='left',fontsize=20)plt.legend(bbox_to_anchor=(1,1.1),ncol=10,facecolor='None')plt.xlabel('')plt.show()第七次全國人口普查數(shù)據(jù)分析與視化圖1-1各地區(qū)每10萬人口中各類受教育程度的人數(shù)堆疊柱形圖第七次全國人口普查數(shù)據(jù)分析與視化(10)重置索引df_edu.set_index("地區(qū)",inplace=True)(11)獲取列名稱和全國各類受教育程度人數(shù)edu1=df_edu.iloc[0,:].index.tolist()cedu1=df_edu.iloc[0,:].values.tolist()(12)繪制全國每10萬人口中擁有的各類受教育程度人數(shù)分布玫瑰圖掃描二維碼在線瀏覽電子活頁1-1“繪制全國每10萬人口中擁有的各類受教育程度人數(shù)分布玫瑰圖”中的代碼及繪制的圖形。第七次全國人口普查數(shù)據(jù)分析與視化(13)刪除“地區(qū)”列“全國”對應(yīng)的行后查看行索引df_edu=df_edu.drop(index="全國")df_edu.index代碼如下:Index(['北京','天津','河北','山西','內(nèi)蒙古','遼寧','吉林','黑龍江','上海','江蘇','浙江','安徽','福建','江西','山東','河南','湖北','湖南','廣東','廣西','海南','重慶','四川','貴州','云南','西藏','陜西','甘肅','青海','寧夏','新疆'],dtype='object',name='地區(qū)')輸出結(jié)果:(14)繪制各地區(qū)每10萬人口中各類受教育程度人數(shù)的堆疊條形圖掃描二維碼在線瀏覽電子活頁1-2“繪制各地區(qū)每10萬人口中各類受教育程度人數(shù)的堆疊條形圖”中的代碼及繪制的圖形。第七次全國人口普查數(shù)據(jù)分析與視化3.2020年全國及各地區(qū)人口性別構(gòu)成數(shù)據(jù)分析與可視化讀取數(shù)據(jù)df_gender=pd.read_excel(r"data\2020年各地區(qū)人口性別構(gòu)成.xlsx")查看部分數(shù)據(jù)df_gender.head()從輸出結(jié)果可以看出:全國人口中,男性人口占51.24%,女性人口占48.76%???cè)丝谛詣e比(以女性為100,男性對女性的比例)為105.07,與2010年基本持平,略有降低。我國人口的性別結(jié)構(gòu)持續(xù)改善。第七次全國人口普查數(shù)據(jù)分析與視化定義列名稱df_gender.columns=["地區(qū)","男性占比","女性占比","性別比"]查看是否存在缺失值df_gender.isnull().sum()刪除“地區(qū)”列中多余的空格df_gender['地區(qū)']=df_gender['地區(qū)'].str.replace('','')重置索引df_gender.set_index("地區(qū)",drop=True,inplace=True)第七次全國人口普查數(shù)據(jù)分析與視化獲取行索引和男女占比regions2=df_gender.index.tolist()man=df_gender["男性占比"].values.tolist()woman=df_gender["女性占比"].values.tolist()繪制堆疊條形圖bar2=(Bar(init_opts=opts.InitOpts(width="900px",height="600px")).add_xaxis(regions2).add_yaxis("男性占比",man,stack="stack1").add_yaxis("女性占比",woman,stack="stack1").set_series_opts(label_opts=opts.LabelOpts(is_show=True,position='inside')).set_global_opts(legend_opts=opts.LegendOpts(pos_left="right"),title_opts=opts.TitleOpts(title="全國及各地區(qū)人口性別構(gòu)成")).reversal_axis())bar2.render_notebook()第七次全國人口普查數(shù)據(jù)分析與視化圖1-2全國及各地區(qū)人口性別構(gòu)成的堆疊條形圖繪制2020年各地區(qū)性別構(gòu)成的金字塔圖掃描二維碼在線瀏覽電子活頁1-3“繪制2020年各地區(qū)性別構(gòu)成的金字塔圖”中的代碼及繪制的圖形。第七次全國人口普查數(shù)據(jù)分析與視化4.2020年各地區(qū)人口年齡構(gòu)成數(shù)據(jù)分析與可視化讀取數(shù)據(jù)df_region_age=pd.read_excel(r"data\2020年各地區(qū)人口年齡構(gòu)成.xlsx")查看部分數(shù)據(jù)df_region_age.head()第七次全國人口普查數(shù)據(jù)分析與視化定義列名稱df_region_age.columns=["地區(qū)","0—14歲","15—59歲","60歲及以上","65歲及以上"]查看是否存在缺失值df_region_age.isnull().sum()刪除“地區(qū)”列中多余的空格df_region_age['地區(qū)']=df_region_age['地區(qū)'].str.replace('','')重置索引df_region_age.set_index("地區(qū)",inplace=True)刪除“地區(qū)”列“全國”對應(yīng)的行后查看行索引df_region_age.drop(index="全國",inplace=True)df_region_age.index獲取行索引和各年齡段占比數(shù)據(jù)regions3=df_region_age.index.tolist()age14=df_region_age["0—14歲"].values.tolist()age59=df_region_age["15—59歲"].values.tolist()age60=df_region_age["60歲及以上"].values.tolist()age65=df_region_age["65歲及以上"].values.tolist()第七次全國人口普查數(shù)據(jù)分析與視化繪制堆疊條形圖bar3=(Bar(init_opts=opts.InitOpts(width="900px",height="600px")).add_xaxis(regions1).add_yaxis("0—14歲",age14,stack="stack1").add_yaxis("15—59歲",age59,stack="stack1").add_yaxis("60歲及以上",age60,stack="stack1").add_yaxis("65歲及以上",age65,stack="stack1").set_series_opts(label_opts=opts.LabelOpts(is_show=True,position="inside")).set_global_opts(title_opts=opts.TitleOpts(title="各地區(qū)人口年齡構(gòu)成"),legend_opts=opts.LegendOpts(pos_left="right")).reversal_axis())bar3.render_notebook()第七次全國人口普查數(shù)據(jù)分析與視化圖1-3各地區(qū)人口年齡構(gòu)成的堆疊條形圖第七次全國人口普查數(shù)據(jù)分析與視化5.2020年全國人口年齡構(gòu)成數(shù)據(jù)分析與可視化讀取數(shù)據(jù)df_age=pd.read_excel(r"data\2020年全國人口年齡構(gòu)成.xlsx")查看部分數(shù)據(jù)df_age.head()定義列名稱df_age.columns=["年齡分段","人數(shù)","比例"]重置索引df_age.set_index("年齡分段",inplace=True)提取部分行數(shù)據(jù)df_age=df_age.iloc[1:4,:]第七次全國人口普查數(shù)據(jù)分析與視化獲取行索引和各年齡段人口數(shù)據(jù)age=df_age.index.tolist()cage=df_age["人數(shù)"].values.tolist()繪制全國各年齡段人口數(shù)據(jù)餅圖掃描二維碼在線瀏覽電子活頁1-4“繪制全國各年齡段人口數(shù)據(jù)餅圖”中的代碼及繪制的圖形。繪制全國各年齡段人口數(shù)據(jù)的圓環(huán)圖繪制全國各年齡段人口數(shù)據(jù)的圓環(huán)圖,對應(yīng)的代碼及繪制的圖形詳見本書配套的電子活頁1-2。第七次全國人口普查數(shù)據(jù)分析與視化繪制全國各年齡段人口數(shù)據(jù)的漏斗圖frompyecharts.chartsimportFunnelx_data=df_age.index.tolist()y_data=df_age['人數(shù)'].values.tolist()data=[[x_data[i],y_data[i]]foriinrange(len(x_data))]funnel1=(Funnel().add(series_name="",data_pair=data,sort_="ascending",gap=2,label_opts=opts.LabelOpts(is_show=True,position="inside",formatter=":suw7bwk%"),).set_global_opts(title_opts=opts.TitleOpts(title="全國人口年齡漏斗圖",subtitle="全國人口年齡構(gòu)成",pos_top="2%"),legend_opts=opts.LegendOpts(pos_left="right",pos_top='2%',orient="horizontal")))funnel1.render_notebook()第七次全國人口普查數(shù)據(jù)分析與視化圖1-4全國各年齡段人口數(shù)據(jù)的漏斗圖掃描二維碼在線瀏覽電子活頁1-5“Funnel的add()方法主要參數(shù)說明”中的內(nèi)容。第七次全國人口普查數(shù)據(jù)分析與視化6.2020年全國及各地區(qū)人口數(shù)量分析與可視化讀取數(shù)據(jù)data_path=r"data\2020年各地區(qū)人口.xlsx"df_district=pd.read_excel(data_path,skiprows=0)查看部分數(shù)據(jù)df_district.head()定義刪除“地區(qū)”列中多余文字的函數(shù)parse_region()importredefparse_region(x):x1=re.sub(r"[\W\d]","",x)ifx1[:3]in["黑龍江","內(nèi)蒙古"]:returnx1[:3]else:returnx1[:2]第七次全國人口普查數(shù)據(jù)分析與視化對“地區(qū)”列的值進行規(guī)范化處理df_district['地區(qū)']=df_district['地區(qū)'].str.replace('','')df_district["地區(qū)"]=df_district["地區(qū)"].map(parse_region)定義列名稱df_district.columns=["地區(qū)","人口數(shù)","2020年人口占比","2010年人口占比"]查看是否存在缺失值df_district.isnull().sum()復(fù)制數(shù)據(jù)集population1=df_district.copy()提取數(shù)據(jù)集中部分列的部分行數(shù)據(jù)df_district=df_district.iloc[1:32,:]df_district=df_district.loc[1:,:]重置索引df_district.set_index("地區(qū)",inplace=True)刪除空值df_district.dropna(how="any",inplace=True)第七次全國人口普查數(shù)據(jù)分析與視化轉(zhuǎn)換與查看數(shù)據(jù)類型df_district["人口數(shù)"]=df_district["人口數(shù)"].astype(int)df_district.dtypes繪制2020年與2010年各地區(qū)人口占比對比柱形圖掃描二維碼在線瀏覽電子活頁1-6“繪制2020年與2010年各地區(qū)人口占比對比柱形圖”中的代碼。繪制2020年各地區(qū)人口數(shù)量分布地圖繪制2020年各地區(qū)人口數(shù)量分布地圖,對應(yīng)的代碼詳見本書配套的電子活頁1-3。第七次全國人口普查數(shù)據(jù)分析與視化7.2010—2020年這10年間人口增長數(shù)據(jù)對比分析與可視化讀取數(shù)據(jù)p2010=pd.read_excel(r'data\2010年各地區(qū)分性別的人口數(shù)據(jù).xlsx',header=0)查看部分數(shù)據(jù)p2010.head()對2010年各地區(qū)人口性別的數(shù)據(jù)進行預(yù)處理p2010=p2010[['Unnamed:0','合計']]p2010.rename(columns={'Unnamed:0':'地區(qū)','合計':'2010年人口數(shù)'},inplace=True)p2010['地區(qū)']=p2010['地區(qū)'].str.replace('','')對2020年各地區(qū)人口數(shù)據(jù)進行預(yù)處理population1=population1[population1['地區(qū)']!='現(xiàn)役軍人']population1.rename(columns={'人口數(shù)':'2020年人口數(shù)'},inplace=True)第七次全國人口普查數(shù)據(jù)分析與視化合并p2010和population1兩個數(shù)據(jù)集與提取所需的數(shù)據(jù)population2=population1.merge(right=p2010,how='left',left_on='地區(qū)',right_on='地區(qū)')population=population2[population2['地區(qū)']!='全國']計算各地區(qū)10年的人口增長數(shù)據(jù)population['10年增長人數(shù)']=population['2020年人口數(shù)']-population['2010年人口數(shù)']按“10年增長人數(shù)”列對人口數(shù)據(jù)進行排序與查看部分數(shù)據(jù)population.sort_values('10年增長人數(shù)',ascending=False,inplace=True)population.head()查看10年人口數(shù)量的增減情況population['group']=population['10年增長人數(shù)']>0第七次全國人口普查數(shù)據(jù)分析與視化繪制各地區(qū)10年增長人數(shù)的柱形圖population.plot.bar(x='地區(qū)',y='10年增長人數(shù)',color=population.group.map({True:'#61BDCD',False:'#E9967A'}))plt.legend('')plt.show()圖1-5各地區(qū)10年增長人數(shù)的柱形圖第七次全國人口普查數(shù)據(jù)分析與視化8.2020年各地區(qū)15歲及以上人口平均受教育年限數(shù)據(jù)分析與可視化讀取數(shù)據(jù)df_edu_time=pd.read_excel(r"data\2020年和2010年各地區(qū)15歲及以上人口平均受教育年限.xlsx")查看部分數(shù)據(jù)df_edu_time.head()定義列名稱df_edu_time.columns=["地區(qū)","2020年平均年限","2010年平均年限"]查看是否存在缺失值df_edu_time.isnull().sum()刪除“地區(qū)”列中多余的空格df_edu_time['地區(qū)']=df_edu_time['地區(qū)'].str.replace('','')提取數(shù)據(jù)集中部分列的部分行數(shù)據(jù)df_edu_time=df_edu_time.iloc[1:,:]df_edu_time=df_edu_time.loc[1:,:]第七次全國人口普查數(shù)據(jù)分析與視化重置索引df_edu_time.set_index("地區(qū)",inplace=True)繪制2020年各地區(qū)15歲及以上人口平均受教育年限對比的柱形圖df_time_2020=df_edu_time["2020年平均年限"].values.tolist()bar1=(Bar(init_opts=opts.InitOpts(width="1000px",height="600px")).add_xaxis(district).add_yaxis("2020年平均受教育年限",df_time_2020).set_global_opts(title_opts=opts.TitleOpts(title="2020年各地區(qū)15歲及以上人口平均受教育年限對比"),xaxis_opts=opts.AxisOpts(name="地區(qū)"),yaxis_opts=opts.AxisOpts(name="平均受教育年限"),tooltip_opts=opts.TooltipOpts(is_show=True,trigger="axis",axis_pointer_type="cross")).set_series_opts(label_opts=opts.LabelOpts(is_show=True)))bar1.render_notebook()第七次全國人口普查數(shù)據(jù)分析與視化圖1-62020年各地區(qū)15歲及以上人口平均受教育年限對比的柱形圖第七次全國人口普查數(shù)據(jù)分析與視化9.2020年全國人口畫像2020年全國人口畫像對應(yīng)的代碼及繪制的圖形詳見本書配套的電子活頁1-4。10.繪制全國各地區(qū)人口分布地圖繪制全國各地區(qū)人口分布地圖,對應(yīng)的代碼詳見本書配套的電子活頁1-5。11.全國各地區(qū)流動人口數(shù)據(jù)分析與可視化讀取全國各地區(qū)流動人口字符串?dāng)?shù)據(jù)掃描二維碼在線瀏覽電子活頁1-7“讀取全國各地區(qū)流動人口字符串?dāng)?shù)據(jù)”中的代碼及輸出的結(jié)果。第七次全國人口普查數(shù)據(jù)分析與視化對數(shù)據(jù)集列名稱進行重命名floating_pop_df=floating_pop_df.rename({"省內(nèi)":"省內(nèi)人戶分離人口數(shù)","省外":"省外流動人口數(shù)"},
axis=1)[["省內(nèi)人戶分離人口數(shù)","省外流動人口數(shù)","地區(qū)"]].set_index("地區(qū)")合并多個數(shù)據(jù)集df=pd.concat([df_region_age,df_district,
df_edu,
floating_pop_df],axis=1)df.head()第七次全國人口普查數(shù)據(jù)分析與視化計算省內(nèi)與省外人戶分離人口比例在處理數(shù)據(jù)的時候,有時需要根據(jù)某個列計算得到一個新列,以便后續(xù)使用。df=df.assign(inside_rate=df["省內(nèi)人戶分離人口數(shù)"]/df["人口數(shù)"],outside_rate=df["省外流動人口數(shù)"]/df["人口數(shù)"],floating_rate=(df["省內(nèi)人戶分離人口數(shù)"]+df["省外流動人口數(shù)"])/df["人口數(shù)"])="地區(qū)"df.head()第七次全國人口普查數(shù)據(jù)分析與視化繪制各地區(qū)之間的年齡結(jié)構(gòu)層次聚類圖掃描二維碼在線瀏覽電子活頁1-8“繪制各地區(qū)之間的年齡結(jié)構(gòu)層次聚類圖”中的代碼及繪制的圖形。fromscipy.clusterimporthierarchygdf=df.assign(group=hierarchy.cut_tree(model,3)+1).sort_values("group")基于層次聚類圖的第三層將各地區(qū)分為3組繪制全國各地區(qū)人口年齡結(jié)構(gòu)分組地圖繪制全國各地區(qū)人口年齡結(jié)構(gòu)分組地圖,對應(yīng)的代碼詳見本書配套的電子活頁1-6。第七次全國人口普查數(shù)據(jù)分析與視化繪制不同組平均人口年齡結(jié)構(gòu)柱形圖掃描二維碼在線瀏覽電子活頁1-9“繪制不同組平均人口年齡結(jié)構(gòu)柱形圖”中的代碼及繪制的圖形。column_name_map={"0—14歲":"a14-","15—59歲":"a15_59","60歲及以上":"a60+"}gdf=gdf.rename(column_name_map,axis=1)gdf[["a14-","a15_59","a60+"]]=gdf[["a14-","a15_59","a60+"]]/100對數(shù)據(jù)集gdf中各年齡段列名稱進行重命名第七次全國人口普查數(shù)據(jù)分析與視化分析省外流動人口對人口年齡結(jié)構(gòu)的影響alt.Chart(gdf.reset_index()).mark_point().encode(alt.Y("a15_59",scale=alt.Scale(domain=[0.5,0.7])),x="省外流動人口數(shù)",color="group:N",tooltip=["地區(qū):O",
"省外流動人口數(shù):Q",
"a15_59:Q"]).properties(title="省外流動人口數(shù)與15歲到59歲之間人口年齡結(jié)構(gòu)比例的關(guān)系")圖1-7省外流動人口數(shù)與15歲到59歲之間人口年齡結(jié)構(gòu)比例的關(guān)系圖第七次全國人口普查數(shù)據(jù)分析與視化獲取全國各地區(qū)的2021年人均GDP數(shù)據(jù)gdp_data_path=r"data\2020-2021年人均GDP.xlsx"gdp_raw_df=pd.read_excel(gdp_data_path)gdp_df=gdp_raw_df.loc[:,["地區(qū)","2021年人均GDP"]]#GDP的單位:億元gdp_df["地區(qū)"]=gdp_df["地區(qū)"].map(parse_region)df1=pd.concat([df,gdp_df.set_index("地區(qū)")],axis=1)合并兩個數(shù)據(jù)集corr=df1.drop(["省內(nèi)人戶分離人口數(shù)","省外流動人口數(shù)","2020年占比","2010年占比"],axis=1).corr().round(2)corr.style.background_gradient(cmap='YlOrRd')繪制熱力圖,通過相關(guān)系數(shù)來分析人口年齡結(jié)構(gòu)的影響因素第七次全國人口普查數(shù)據(jù)分析與視化圖1-8人口年齡結(jié)構(gòu)影響因素的熱力圖【任務(wù)描述】根據(jù)地理位置通常將31個省、自治區(qū)、直轄市劃分為以下7個大區(qū):華東(包括山東、江蘇、安徽、浙江、福建、上海)、華南(包括廣東、廣西、海南)、華中(包括湖北、湖南、河南、江西)、華北(包括北京、天津、河北、山西、內(nèi)蒙古)、西北(包括寧夏、新疆、青海、陜西、甘肅)、西南(包括四川、云南、貴州、西藏、重慶)、東北(包括遼寧、吉林、黑龍江)。Excel文件“2011—2021各地區(qū)GDP.xlsx”提供了全國31個省、自治區(qū)、直轄市2011—2021年的GDP數(shù)據(jù)。針對這些GDP數(shù)據(jù)進行以下分析與可視化操作。(1)查看歷年GDP最低和最高的地區(qū)。(2)查看近5年GDP增速最快和最慢的地區(qū)。(3)查看廣東省和湖北省近5年的GDP增速(4)繪制條形圖對比2020年各地區(qū)GDP增速。(5)對比分析2020年和2021年全國各地區(qū)的GDP。【任務(wù)1-2】2011—2021年全國各大區(qū)的GDP數(shù)據(jù)分析與可視化【任務(wù)描述】(6)分析2020年、2021年各大區(qū)的GDP。(7)分析2020年、2021年全國各地區(qū)的GDP和人均GDP。(8)繪制柱形圖、條形圖、地圖對2021年全國各地區(qū)的GDP數(shù)據(jù)進行可視化分析。(9)繪制輪播地圖對2011—2021年全國各地區(qū)的GDP數(shù)據(jù)進行可視化分析?!救蝿?wù)實現(xiàn)】在JupyterNotebook開發(fā)環(huán)境中創(chuàng)建tc01-02.ipynb,然后在單元格中編寫代碼并輸出對應(yīng)的結(jié)果。【任務(wù)1-2】2011—2021年全國各大區(qū)的GDP數(shù)據(jù)分析與可視化2011—2021年全國各大區(qū)的GDP數(shù)據(jù)分析與可視化導(dǎo)入模塊1.導(dǎo)入模塊與讀取數(shù)據(jù)frompyecharts.globalsimportChartType讀取數(shù)據(jù)df=pd.read_excel(r'data\2011-2021各地區(qū)GDP.xlsx')查看數(shù)據(jù)集中的部分數(shù)據(jù)df.head()2011—2021年全國各大區(qū)的GDP數(shù)據(jù)分析與可視化2.查看歷年GDP最低和最高的地區(qū)la=[]lb=[]foriinrange(1,df.shape[1]):x1=df[df.iloc[:,i]==df.iloc[:,i].min()]['地區(qū)'].valuesy1=df[df.iloc[:,i]==df.iloc[:,i].max()]['地區(qū)'].valuesla.extend(x1)lb.extend(y1)print(la,sep='\r')print(lb,sep='\r')2011—2021年全國各大區(qū)的GDP數(shù)據(jù)分析與可視化3.查看近5年GDP增速最快和最慢的地區(qū)獲取近6年各地區(qū)的GDP數(shù)據(jù)并進行轉(zhuǎn)置df2=df.iloc[:,:7].set_index('地區(qū)').T計算近5年各地區(qū)GDP的增速df3=(df2/df2.shift(-1)-1)*100查看2021年GDP增速最快的地區(qū)df3.iloc[0][df3.iloc[0]==df3.iloc[0].max()]查看近5年GDP增速最快和最慢的地區(qū)lc=[]ld=[]foriinrange(0,df3.shape[0]-1):x2=df3.iloc[i][df3.iloc[i]==df3.iloc[i].max()].index[0]y2=df3.iloc[i][df3.iloc[i]==df3.iloc[i].min()].index[0]lc.append(x2)ld.append(y2)print(lc,sep='\r')print(ld,sep='\r')創(chuàng)建用戶賬戶輸出近5年GDP增速最快和最慢的地區(qū)yr=range(2021,2016,-1)foriinrange(5):print(yr[i],'GDP增速最快:',lc[i])print('*'*28)foriinrange(5):print(yr[i],'GDP增速最慢:',ld[i])2011—2021年全國各大區(qū)的GDP數(shù)據(jù)分析與可視化4.查看廣東省和湖北省近5年的GDP增速查看廣東省近5年的GDP增速num=df3.columns.tolist().index('廣東省')df3.iloc[:,num]獲取2020年各地區(qū)GDP增速數(shù)據(jù)df_a=df3.head(2)df_2020=df_a.tail(-1)df_b=pd.DataFrame(df_2020.iloc[0].sort_values())df_b查看湖北省近5年的GDP增速num=df3.columns.tolist().index('湖北省')df3.iloc[:,num]5.繪制條形圖對比2020年各地區(qū)GDP增速繪制2020年各地區(qū)GDP增速條形圖plt.figure(dpi=100)df_b.plot.barh(figsize=(20,15),color='r',alpha=0.5)2011—2021年全國各大區(qū)的GDP數(shù)據(jù)分析與可視化圖1-92020年各地區(qū)GDP增速條形圖2011—2021年全國各大區(qū)的GDP數(shù)據(jù)分析與可視化6.對比分析2020年和2021年全國各地區(qū)的GDP獲取2020年和2021年全國各地區(qū)的GDPdf4=pd.read_excel(r'data\2020-2021年全國各地區(qū)GDP.xlsx',usecols=['地區(qū)','2020年GDP','2021年GDP'])設(shè)置數(shù)據(jù)集的索引列并對數(shù)據(jù)集進行排序df4=df4.set_index('地區(qū)')df4=df4.sort_values(by='2021年GDP',ascending=False)查看2021年GDP排名前5位的地區(qū)df4.head()2011—2021年全國各大區(qū)的GDP數(shù)據(jù)分析與可視化繪制2021年和2020年全國各地區(qū)GDP柱形圖df4.plot.bar(figsize=(16,8))圖1-102021年和2020年全國各地區(qū)GDP柱形圖2011—2021年全國各大區(qū)的GDP數(shù)據(jù)分析與可視化7.分析2020年各大區(qū)的GDP獲取2020年各地區(qū)GDP數(shù)據(jù)并進行轉(zhuǎn)置data2=pd.DataFrame(dict(zip(df['地區(qū)'].values,df.loc[:,'2020年'].values)),index=range(1)).T.reset_index()對數(shù)據(jù)集的列進行重命名data2.columns=['地區(qū)','2020年GDP']對數(shù)據(jù)集“地區(qū)”列數(shù)據(jù)進行規(guī)范化處理正則表達式中字符“\W\d”表示匹配以1個特殊字符開頭,后接1個0~9的任意數(shù)字的字符串。
importredefparse_region(x):x1=re.sub(r"[\W\d]","",x)ifx1[:3]in["黑龍江","內(nèi)蒙古"]:returnx1[:3]else:returnx1[:2]data2['地區(qū)']=data2['地區(qū)'].str.replace('','')data2["地區(qū)"]=data2["地區(qū)"].map(parse_region) 2011—2021年全國各大區(qū)的GDP數(shù)據(jù)分析與可視化合并兩個數(shù)據(jù)集data_2=data.merge(right=data2,how='left',left_on='地區(qū)',right_on='地區(qū)')data_2.head()計算2020年各大區(qū)GDPdata2_gdp=data_2.groupby(by='大區(qū)').agg({'地區(qū)':'count','2020年GDP':'sum'})data2_gdp.columns=['省市區(qū)數(shù)量','2020年各大區(qū)GDP']data2_gdp=data2_gdp.sort_values(by='2020年各大區(qū)GDP',ascending=False)data2_gdp=data2_gdp.reset_index()data2_gdp2011—2021年全國各大區(qū)的GDP數(shù)據(jù)分析與可視化繪制2020年和2021年各大區(qū)GDP柱形圖
fig=plt.figure(figsize=(10,5),dpi=100)axes1=fig.add_subplot(1,2,1)axes2=fig.add_subplot(1,2,2)axes1.set_ylim([0,350000])axes1.bar(data2_gdp['大區(qū)'],
data2_gdp['2020年各大區(qū)GDP'])axes2.bar(data_gdp['大區(qū)'],data_gdp['各大區(qū)GDP'])圖1-112020年和2021年各大區(qū)GDP柱形圖2011—2021年全國各大區(qū)的GDP數(shù)據(jù)分析與可視化8.分析2021年各大區(qū)的GDP從數(shù)據(jù)集中獲取2021年各地區(qū)GDP數(shù)據(jù)data=pd.DataFrame(df4['2021年GDP'])重置數(shù)據(jù)集的索引data=data.reset_index()在數(shù)據(jù)集中增加“大區(qū)”列,并設(shè)置初始值為0data['大區(qū)']=[0]*len(data)刪除數(shù)據(jù)集中“地區(qū)”列數(shù)據(jù)中的空格data['地區(qū)']=data['地區(qū)'].replace('','')2011—2021年全國各大區(qū)的GDP數(shù)據(jù)分析與可視化根據(jù)各省市區(qū)隸屬的大區(qū)設(shè)置數(shù)據(jù)集中“大區(qū)”列的值dq1=data[data['地區(qū)'].isin(['山東','江蘇','安徽','浙江','福建','上海'])]['大區(qū)'].index.tolist()data.iloc[dq1,2]='華東'dq2=data[data['地區(qū)'].isin(['廣東','廣西','海南'])]['大區(qū)'].index.tolist()data.iloc[dq2,2]='華南'dq3=data[data['地區(qū)'].isin(['湖北','湖南','河南','江西'])]['大區(qū)'].index.tolist()data.iloc[dq3,2]='華中'dq4=data[data['地區(qū)'].isin(['北京','天津','河北','山西','內(nèi)蒙古'])]['大區(qū)'].index.tolist()data.iloc[dq4,2]='華北'dq5=data[data['地區(qū)'].isin(['寧夏','新疆','青海','陜西','甘肅'])]['大區(qū)'].index.tolist()data.iloc[dq5,2]='西北'dq6=data[data['地區(qū)'].isin(['四川','云南','貴州','西藏','重慶'])]['大區(qū)'].index.tolist()data.iloc[dq6,2]='西南'dq7=data[data['地區(qū)'].isin(['黑龍江','吉林','遼寧'])]['大區(qū)'].index.tolist()data.iloc[dq7,2]='東北'data.head()2011—2021年全國各大區(qū)的GDP數(shù)據(jù)分析與可視化圖1-122021年各大區(qū)GDP柱形圖分大區(qū)統(tǒng)計各省市區(qū)2021年GDP數(shù)據(jù)data_gdp=data.groupby(by='大區(qū)').agg({'地區(qū)':'count','2021年GDP':'sum'})data_gdp=data_gdp.sort_values(by='2021年GDP',ascending=False)data_gdp.columns=['省市區(qū)數(shù)量','各大區(qū)GDP']data_gdp=data_gdp.reset_index()data_gdp繪制2021年各大區(qū)GDP柱形圖plt.figure(figsize=(10,5),dpi=100)plt.bar(data_gdp['大區(qū)'],data_gdp['各大區(qū)GDP'])2011—2021年全國各大區(qū)的GDP數(shù)據(jù)分析與可視化9.分析2020年全國各地區(qū)的GDP和人均GDP獲取2020年全國各地區(qū)的GDP和人均GDP數(shù)據(jù)#gdp2020=gdp[['地區(qū)','2020年GDP','2020年人均GDP']]gdp2020=gdp[gdp.columns[0:3]].copy()
#dp2020['2020年人均GDP']=gdp2020['2020年人均GDP'].astype('float')gdp2020=gdp2020.set_index('地區(qū)')gdp2020.head()繪制2020年全國各地區(qū)的GDP和人均GDP柱形圖gdp2020.sort_values(by='2020年人均GDP',ascending=False).plot.bar(figsize=(16,8))2011—2021年全國各大區(qū)的GDP數(shù)據(jù)分析與可視化圖1-132020年全國各地區(qū)的GDP和人均GDP柱形圖2011—2021年全國各大區(qū)的GDP數(shù)據(jù)分析與可視化10.分析2021年全國各地區(qū)的GDP和人均GDP讀取數(shù)據(jù)gdp=pd.read_excel(r'data\2020-2021年全國各地區(qū)GDP.xlsx')繪制2021年全國各地區(qū)GDP和人均GDP的堆疊柱形圖掃描二維碼在線瀏覽電子活頁1-11“繪制2021年全國各地區(qū)GDP和人均GDP的堆疊柱形圖”中的代碼及繪制的圖形。繪制2021年全國各地區(qū)GDP分布地圖繪制2021年全國各地區(qū)GDP分布地圖,對應(yīng)的代碼詳見本書配套的電子活頁1-7。2011—2021年全國各大區(qū)的GDP數(shù)據(jù)分析與可視化11.對2021年全國各地區(qū)的GDP數(shù)據(jù)進行可視化分析讀取數(shù)據(jù)datas=pd.read_excel(r'data\2011-2021各地區(qū)GDP.xlsx')繪制2021年全國各地區(qū)GDP柱形圖b1=(Bar().add_xaxis(datas['地區(qū)'].values.tolist()).add_yaxis('2021年全國各地區(qū)GDP(億元)',
datas['2021年'].values.tolist()).set_global_opts(title_opts=opts.TitleOpts(title='2021年全國各地區(qū)
GDP(億元)'),
datazoom_opts=[opts.DataZoomOpts(),
opts.DataZoomOpts(type_='inside')],))b1.render_notebook()圖1-142021年全國各地區(qū)GDP柱形圖2011—2021年全國各大區(qū)的GDP數(shù)據(jù)分析與可視化繪制2021年全國各地區(qū)GDP條形圖掃描二維碼在線瀏覽電子活頁1-12“繪制2021年全國各地區(qū)GDP條形圖”中的代碼及繪制的圖形。繪制2021年全國各地區(qū)GDP地圖在pyecharts中可使用Map類繪制地圖,并且通過不同顏色展現(xiàn)不同的數(shù)據(jù)。datas['地區(qū)'].replace(regex=True,inplace=True,to_replace=['省','市','維吾爾自治區(qū)','回族自治區(qū)','壯族自治區(qū)','自治
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 噴漆 安裝塔吊合同范例
- 修補工程合同范例
- 紫砂茶具購銷合同范例
- 湖北省孝感市重點高中協(xié)作體2025屆高三下學(xué)期聯(lián)合考試語文試題含解析
- 出租孵化基地合同范例
- 棋牌游戲運營合同范例
- 服裝定做采購合同范例
- 山東省日照黃海高級中學(xué)2025屆高三3月份模擬考試英語試題含解析
- 外兌合同范例
- 表格式種子購銷合同范例
- 醫(yī)務(wù)人員醫(yī)德醫(yī)風(fēng)誠信 檔 案(模板)
- 膿毒癥休克中西醫(yī)詳解
- 小兔子乖乖ppt課件.ppt
- 常壓矩形容器設(shè)計計算軟件
- 交流變換為直流的穩(wěn)定電源設(shè)計方案
- PR6C系列數(shù)控液壓板料折彎機 使用說明書
- 鋼結(jié)構(gòu)工程環(huán)境保護和文明施工措施
- 物業(yè)管理業(yè)主意見征詢表
- 中藥分類大全
- 管道定額價目表
- 民國文獻《潮州茶經(jīng)》
評論
0/150
提交評論