Python數(shù)據(jù)分析與可視化典型項目實戰(zhàn)模塊三-房源數(shù)據(jù)分析_第1頁
Python數(shù)據(jù)分析與可視化典型項目實戰(zhàn)模塊三-房源數(shù)據(jù)分析_第2頁
Python數(shù)據(jù)分析與可視化典型項目實戰(zhàn)模塊三-房源數(shù)據(jù)分析_第3頁
Python數(shù)據(jù)分析與可視化典型項目實戰(zhàn)模塊三-房源數(shù)據(jù)分析_第4頁
Python數(shù)據(jù)分析與可視化典型項目實戰(zhàn)模塊三-房源數(shù)據(jù)分析_第5頁
已閱讀5頁,還剩45頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

模塊三房源數(shù)據(jù)分析Python數(shù)據(jù)分析與可視化典型項目實戰(zhàn)(微課版)【任務描述】Excel文件“house.xlsx”共有3萬多行、14列數(shù)據(jù),列名分別為:產權、關注、區(qū)域、單價、小區(qū)、年限、總價/萬元、戶型、房屋編碼、掛牌時間、朝向、樓層、裝修情況、面積。(其中,關注為關注數(shù)量的簡稱。)其中“朝向”列數(shù)據(jù)有67種,“戶型”列數(shù)據(jù)有42種,“區(qū)域”列數(shù)據(jù)有14種,“裝修情況”列數(shù)據(jù)有4種,這些數(shù)據(jù)后期需要進行清洗、整理和提取數(shù)值特征。數(shù)據(jù)清洗建議如下?!救蝿諏崿F(xiàn)】在JupyterNotebook開發(fā)環(huán)境中創(chuàng)建tc03-01.ipynb,然后在單元格中編寫代碼并輸出對應的結果?!救蝿?-1】杭州市在售房源數(shù)據(jù)分析與可視化杭州市在售房源數(shù)據(jù)分析與可視化1.導入模塊與讀取數(shù)據(jù)導入模塊importdatetimeimportcalendarimportbrewer2mplimportcollectionsfromjiebaimportpossegaspsgimportwarningswarnings.filterwarnings('ignore')讀取數(shù)據(jù)并進行瀏覽house_df=pd.read_excel(r"data\house.xlsx")data=house_df.copy()#瀏覽數(shù)據(jù)data.head()杭州市在售房源數(shù)據(jù)分析與可視化2.數(shù)據(jù)預處理檢查缺失值總數(shù)量data.isnull().values.sum()處理“區(qū)域”列數(shù)據(jù)deflocation(x):if"臨安"inx:return"臨安市"elif"上城"inx:return"上城區(qū)"elif"下城"inx:return"下城區(qū)"elif"江干"inx:return"江干區(qū)"elif"拱墅"inx:return"拱墅區(qū)"elif"西湖"inx:return"西湖區(qū)"elif"濱江"inx:return"濱江區(qū)"elif"蕭山"inx:return"蕭山區(qū)"elif"余杭"inx:return"余杭區(qū)"elif"富陽"inx:return"富陽區(qū)"elif"錢塘"inx:return"錢塘新區(qū)"else:return"其他"data["地理位置"]=data["區(qū)域"].apply(location)檢查各列缺失值情況data.isnull().sum()刪除缺失值data.dropna(how="any",inplace=True)處理“產權”列數(shù)據(jù)data=data.loc[data["產權"]!="未知"]杭州市在售房源數(shù)據(jù)分析與可視化處理“單價”列數(shù)據(jù)data['單價'].head()查看各區(qū)在售房源總數(shù)量的代碼如下:data['地理位置'].value_counts()以下3種方法都可以去掉單位“元/平方米”提取單價數(shù)字。方法1:使用正則表達式取出其中的數(shù)字。data["單價"]=data["單價"].apply(lambdax:str(x)).str.findall("(\d+)").str[0].astype("float")方法2:使用“元”字進行字符串分隔。data["單價"]=data["單價"].str.split("元").str[0]data["單價"]=data["單價"].astype("int64")方法3:使用“元”字在“單價”列中的位置獲取單價數(shù)字。data['單價']=data['單價'].str[:-5].astype('float32')杭州市在售房源數(shù)據(jù)分析與可視化處理“年限”列數(shù)據(jù)data["起建時間"]=data["年限"].str.split("/").str[0]data["建筑類型"]=data["年限"].str.split("/").str[1]瀏覽“建筑類型”列唯一值,代碼如下:data['建筑類型'].unique()輸出結果:array(['板樓','板塔結合','塔樓','暫無數(shù)據(jù)','平房'],dtype=object)去掉起建時間為“未知年建”和“建筑類型”為“暫無數(shù)據(jù)”的房源,代碼如下:data=data.loc[(data["起建時間"]!="未知年建")&(data["建筑類型"]!="暫無數(shù)據(jù)")]獲取“起建時間”年份數(shù)字的代碼如下:data["起建時間"]=data["起建時間"].str.extract("(\d+)").astype("int")計算“樓齡”并增加“樓齡”列的代碼如下:data["樓齡"]=2022-data["起建時間"]杭州市在售房源數(shù)據(jù)分析與可視化刪除數(shù)據(jù)集指定列中多余的數(shù)據(jù)data.drop(["年限","區(qū)域","房屋編碼"],axis=1,inplace=True)data.head()處理“戶型”列數(shù)據(jù)從“戶型”列數(shù)據(jù)提取“室數(shù)”和“廳數(shù)”,并分開存儲,代碼如下:data["室數(shù)"]=data["戶型"].str.findall("(\d)室(\d)廳").str[0].str[0].astype("int")data["廳數(shù)"]=data["戶型"].str.findall("(\d)室(\d)廳").str[0].str[1].astype("int")杭州市在售房源數(shù)據(jù)分析與可視化刪除數(shù)據(jù)集指定列中多余的數(shù)據(jù)data.drop(["年限","區(qū)域","房屋編碼"],axis=1,inplace=True)data.head()處理“戶型”列數(shù)據(jù)從“戶型”列數(shù)據(jù)提取“室數(shù)”和“廳數(shù)”,并分開存儲,代碼如下:data["室數(shù)"]=data["戶型"].str.findall("(\d)室(\d)廳").str[0].str[0].astype("int")data["廳數(shù)"]=data["戶型"].str.findall("(\d)室(\d)廳").str[0].str[1].astype("int")以下代碼也能從“戶型”列數(shù)據(jù)提取“室數(shù)”和“廳數(shù)”:data['室數(shù)']=data['戶型'].str[0].astype('int32')data['廳數(shù)']=data['戶型'].str[2].astype('int32')杭州市在售房源數(shù)據(jù)分析與可視化轉換“掛牌時間”列數(shù)據(jù)的數(shù)據(jù)類型data["掛牌時間"]=pd.to_datetime(data["掛牌時間"])處理“朝向”列數(shù)據(jù)觀察“朝向”列數(shù)據(jù),可以發(fā)現(xiàn)“朝向”主要分為以下幾種情況。單一朝向:“東”“南”“西”“北”“西南”“西北”“東南”“東北”等。兩種朝向:“南北”“南西”“北南”“東南”“東西”“西北”等。多種朝向:“東南北”“西西南南”“南西北”“南西北北”等。去除“朝向”列首、末端空格的代碼如下:data['朝向']=data['朝向'].str.strip()查看“朝向”列字數(shù)的代碼如下:data['朝向'].str.len().value_counts()掃描二維碼在線瀏覽電子活頁3-1“定義將多種朝向簡化為單一朝向的函數(shù)orientation()”中的代碼。杭州市在售房源數(shù)據(jù)分析與可視化處理“樓層”列數(shù)據(jù)查看數(shù)據(jù)集行數(shù)的代碼如下:data.shape[0]輸出結果:27580重置行索引的代碼如下:data.reset_index()獲取“樓層”列中包含字符“/”的數(shù)據(jù)的行數(shù),代碼如下:data["樓層"].str.contains("/").sum()獲取“樓層”列中不包含字符“/”的數(shù)據(jù)的行數(shù),代碼如下:data.shape[0]-data["樓層"].str.contains("/").sum()輸出結果:27565輸出結果:15杭州市在售房源數(shù)據(jù)分析與可視化查看數(shù)據(jù)集中第1行、“樓層”列數(shù)據(jù)的數(shù)據(jù)類型是否為“str”,代碼如下:isinstance(data.iloc[0,:]["樓層"],str)輸出結果:True根據(jù)“樓層”列數(shù)據(jù)中“/”字符的位置分別提取“樓層位置”和“層數(shù)”數(shù)據(jù),代碼如下:data["樓層位置"]=data["樓層"].str.split("/").str[0]data["層數(shù)"]=data["樓層"].str.split("/").str[1]數(shù)據(jù)集中部分“樓層”列不包含字符“/”,即只包含層數(shù)信息,不包含樓層位置信息。針對不包含“/”字符的“樓層”列做進一步處理,代碼如下:foriinrange(0,data.shape[0]):if('/'notindata.iloc[i,:]["樓層"]):data.loc[i,"樓層位置"]='其他'data.loc[i,"層數(shù)"]=data.iloc[i,:]["樓層"]由于“層數(shù)”列數(shù)據(jù)中可能會出現(xiàn)空值,空值無法轉換為int類型,需要刪除“層數(shù)”為空的行,獲取“層數(shù)”列中的非空值數(shù)據(jù)的代碼如下:data=data.loc[~(data["層數(shù)"].isnull())]杭州市在售房源數(shù)據(jù)分析與可視化從“層數(shù)”列數(shù)據(jù)中取出層數(shù)數(shù)字并將其轉換為“int32”數(shù)據(jù)類型,代碼如下:data["層數(shù)"]=data["層數(shù)"].str.extract(("(\d+)")).astype("int32")分析“層數(shù)”列數(shù)據(jù)的特征可以發(fā)現(xiàn):“層數(shù)”列數(shù)據(jù)第1個字為“共”,最后一個字為“層”,中間為1個或多個數(shù)字,使用以下代碼也可以實現(xiàn)從“層數(shù)”列數(shù)據(jù)中取出層數(shù)數(shù)字并將其轉換為“int32”數(shù)據(jù)類型。df1['層數(shù)']=data['層數(shù)'].str[1:-1].astype('int32')刪除“樓層”列數(shù)據(jù)的代碼如下:data=data.drop(["樓層"],axis=1)以下代碼也可以刪除“樓層”列數(shù)據(jù):deldata["樓層"]處理“裝修情況”列數(shù)據(jù)defdecoration(x):if"精裝"inx:return"精裝"elif"簡裝"inx:return"簡裝"elif"毛坯"inx:return"毛坯"else:return"其他"data["裝修情況"]=data["裝修情況"].apply(decoration)杭州市在售房源數(shù)據(jù)分析與可視化處理“面積”列數(shù)據(jù)方法1:使用lambda函數(shù)結合正則表達式提取“面積”數(shù)據(jù)中的數(shù)字和小數(shù)點。data["面積"]=data["面積"].apply(lambdax:str(x)).str.extract("([\d,.]+)").astype("float")方法2:使用正則表達式直接提取“面積”數(shù)據(jù)中的數(shù)字和小數(shù)點。data["面積"]=data["面積"].str.findall('[\d,.]+').str[0].astype('float')方法3:由于“面積”列數(shù)據(jù)都包含單位“平方米”,根據(jù)數(shù)字位置提取“面積”數(shù)據(jù)中的數(shù)字和小數(shù)點。data['面積'].str[:-2].astype('float')過濾異常數(shù)據(jù)將“總價/萬元”重命名為“總價”的代碼如下:data.rename(columns={"總價/萬元":"總價"},inplace=True)杭州市在售房源數(shù)據(jù)分析與可視化獲取房子總價大于50萬元和小于3000萬元的數(shù)據(jù)的代碼如下:data_=data.loc[(data["總價"]>50)&(data["總價"]<3000)]刪除“戶型”列包含“0室0廳”數(shù)據(jù)的行代碼如下:data=data.loc[data["戶型"]!="0室0廳"]重置索引的代碼如下:data.reset_index(drop=True,inplace=True)將處理好的數(shù)據(jù)存入文件“l(fā)ianjia.xlsx”中data.to_excel(r'data\lianjia.xlsx')杭州市在售房源數(shù)據(jù)分析與可視化3.數(shù)據(jù)分析與可視化計算相關系數(shù)與探索各數(shù)據(jù)之間的相關性corr=data.corr()corr繪制反映房源數(shù)據(jù)之間關系的熱力圖plt.figure(figsize=(8,6))sns.heatmap(corr,cmap='GnBu')plt.show()圖3-1反映房源數(shù)據(jù)之間關系的熱力圖杭州市在售房源數(shù)據(jù)分析與可視化對比分析杭州市各區(qū)房源數(shù)量count_area=data.groupby("地理位置")["關注"].count().sort_values(ascending=False)count_area=count_area.reset_index()count_area統(tǒng)計數(shù)據(jù)集中各區(qū)房源數(shù)據(jù)的行數(shù),代碼如下:繪制杭州市各區(qū)房源數(shù)量對比柱形圖之一的代碼如下所示。plt.figure(figsize=(8,6))ax=sns.barplot(count_area["地理位置"],count_area["關注"],palette='Greens_r')ax.set_title("杭州市各區(qū)房源數(shù)量對比")ax.set_xlabel('區(qū)域')ax.set_ylabel('房源數(shù)量')forindex,rowincount_area.iterrows():ax.text(,row['關注']+60,round(row['關注']),ha='center',fontsize=14)圖3-2杭州市各區(qū)房源數(shù)量對比柱形圖之一杭州市在售房源數(shù)據(jù)分析與可視化繪制杭州市各區(qū)房源數(shù)量對比柱形圖之二的代碼如下。count_house=data.groupby("地理位置")["關注"].count().sort_values(ascending=False)plt.figure(figsize=(10,5))sns.barplot(count_house.index,count_house)plt.title("杭州市各區(qū)房源數(shù)量對比",fontsize=14)plt.xlabel("區(qū)域",fontsize=12)plt.ylabel("房源數(shù)量",fontsize=12)plt.xticks(rotation=30,fontsize=12)forindex,rowincount_area.iterrows():plt.text(,row['關注']+40,round(row['關注']),ha='center',fontsize=14)plt.show()圖3-3杭州市各區(qū)房源數(shù)量對比柱形圖之二繪制杭州市各區(qū)房源數(shù)量對比地圖,對應的代碼詳見本書配套的電子活頁3-1。杭州市在售房源數(shù)據(jù)分析與可視化對比分析杭州市各區(qū)房源平均總價total_price=data.groupby("地理位置")["總價"].mean().sort_values(ascending=False).reset_index()total_price計算杭州市各區(qū)房源平均總價的代碼如下:繪制杭州市各區(qū)房源平均總價對比柱形圖的代碼如下:plt.figure(figsize=(10,5))sns.barplot(total_price["地理位置"],y=total_price["總價"])plt.title("杭州市各區(qū)房源平均總價對比",fontsize=14)plt.ylabel("總價/萬元",fontsize=12)plt.xlabel("區(qū)域",fontsize=12)plt.xticks(rotation=30,fontsize=12)forindex,rowintotal_price.iterrows():plt.text(,row['總價']+3,round(row['總價']),ha='center',fontsize=14)plt.show()圖3-4杭州市各區(qū)房源平均總價對比柱形圖杭州市在售房源數(shù)據(jù)分析與可視化對比分析杭州市各區(qū)在售房源總價分布繪制杭州市各區(qū)在售房源總價分布柱形圖的代碼如下:data1=data.groupby("地理位置").sum().sort_values("總價",ascending=False)plt.figure(figsize=(12,5))plt.bar(data1.index,data1["總價"])plt.title("杭州市各區(qū)在售房源總價分布情況")fori,jinzip(data1.index,data1["總價"]):plt.text(i,j+20000,j,size=12,ha='center')圖3-5杭州市各區(qū)在售房源總價分布柱形圖掃描二維碼在線瀏覽電子活頁3-2“繪制杭州市各區(qū)房源總價分布箱形圖”中的代碼及繪制的圖形。杭州市在售房源數(shù)據(jù)分析與可視化繪制杭州市在售房源經緯度分布散點圖的代碼如下:data_1=data[['地理位置','小區(qū)','單價','總價']]data_2=pd.read_csv(r"data/各小區(qū)經緯度詳情.csv")data_2=data_2[['小區(qū)','lnt','lat']]#合并數(shù)據(jù)data_1_2=pd.merge(data_1,data_2,on="小區(qū)")plt.figure(figsize=(8,6))x=data_1_2["lnt"]y=data_1_2["lat"]plt.scatter(x,y,marker='o',s=10,#s:散點的大小c=data_1_2["總價"],alpha=0.8,)plt.grid()圖3-6杭州市在售房源經緯度分布散點圖杭州市在售房源數(shù)據(jù)分析與可視化對比分析杭州市各區(qū)“總價值/總在售面積”情況下面使用系數(shù)“d”(總價值/總在售面積)進行描述。data2=data.groupby("地理位置").sum()data2["rate"]=(data2["總價"]/data2["面積"]).round(2)data2=data2.sort_values(by="rate",ascending=False)plt.figure(figsize=(12,5))plt.bar(data2.index,data2["rate"].round(2))plt.title("杭州市各區(qū)在售房源系數(shù)d分布情況")fori,jinzip(data2.index,data2["rate"]):plt.text(i,j+0.05,j,size=12,ha='center')圖3-7杭州市各區(qū)在售房源系數(shù)d分布柱形圖杭州市在售房源數(shù)據(jù)分析與可視化price=data.groupby("地理位置")["單價"].mean().sort_values(ascending=False)plt.figure(figsize=(10,5))sns.barplot(price.index,price)plt.title("杭州市各區(qū)房源平均單價對比",fontsize=14)plt.ylabel("每平方米單價",fontsize=12)plt.xlabel("區(qū)域",fontsize=12)plt.xticks(rotation=30,fontsize=12)forindex,rowinprice.reset_index().iterrows():plt.text(,row.單價+500,round(row.單價),ha='center')plt.show()對比分析杭州市各區(qū)房源平均單價繪制杭州市各區(qū)房源平均單價對比柱形圖的代碼如下:圖3-8杭州市各區(qū)房源平均單價對比柱形圖掃描二維碼在線瀏覽電子活頁3-3“繪制杭州市各區(qū)房源平均單價對比柱形圖方法2”中的代碼及繪制的圖形。杭州市在售房源數(shù)據(jù)分析與可視化繪制杭州市房源均價排前10位的區(qū)的柱形圖,代碼如下:frommons.utilsimportJsCodetemp=data.groupby(['地理位置'])['單價'].mean().reset_index()data_pair=sorted([(row['地理位置'],round(row['單價'],1))for_,rowintemp.iterrows()],key=lambdax:x[1],reverse=True)[:10]bar=(Bar(init_opts=opts.InitOpts(theme='dark')).add_xaxis([x[0]forxindata_pair]).add_yaxis('住房均價',[x[1]forxindata_pair]).set_series_opts(label_opts=opts.LabelOpts(is_show=True,font_style='italic'),itemstyle_opts=opts.ItemStyleOpts(color=JsCode("""newecharts.graphic.LinearGradient(0,1,0,0,[{offset:0,color:'rgb(0,206,209)'},{offset:1,color:'rgb(218,165,32)'}])"""))).set_global_opts(title_opts=opts.TitleOpts(title="杭州市房源均價排前10位的區(qū)"),legend_opts=opts.LegendOpts(is_show=False),tooltip_opts=opts.TooltipOpts(formatter=':{c}萬元')))bar.render_notebook()圖3-9杭州市房源均價排前10位的區(qū)的柱形圖杭州市在售房源數(shù)據(jù)分析與可視化df=data.groupby("小區(qū)").mean()plt.figure(figsize=(12,5))n,bins,patches=plt.hist(x=df["單價"],bins='auto',alpha=0.7,rwidth=1)plt.grid(axis='y',alpha=0.75)plt.xlabel('平均單價')plt.ylabel('數(shù)量')plt.title('杭州市各小區(qū)在售房源平均單價直方圖')maxfreq=n.max()#設置y軸的上限plt.ylim(ymax=np.ceil(maxfreq/10)*10ifmaxfreq%10elsemaxfreq+10)對比分析杭州市各小區(qū)在售房源的均價和平均單價繪制杭州市各小區(qū)在售房源平均單價直方圖的代碼如下:掃描二維碼在線瀏覽電子活頁3-4“繪制杭州市在售房源均價排前10位的小區(qū)的柱形圖”中的代碼及繪制的圖形。杭州市在售房源數(shù)據(jù)分析與可視化圖3-10杭州市各小區(qū)在售房源平均單價直方圖杭州市在售房源數(shù)據(jù)分析與可視化attention_area=data.groupby("地理位置")["關注"].sum().sort_values(ascending=False).reset_index()attention_area對比分析杭州市各區(qū)房源關注數(shù)量統(tǒng)計杭州市各區(qū)房源關注數(shù)量的代碼如下:繪制杭州市各區(qū)房源關注數(shù)量對比圓環(huán)圖的代碼如下:pair1=[(row["地理位置"],row["關注"])fori,rowinattention_area.iterrows()]pie1=Pie(init_opts=opts.InitOpts(theme='light',width='800px',height='400px'))pie1.add("",pair1,radius=["35%","75%"])pie1.set_global_opts(title_opts=opts.TitleOpts(title="杭州市各區(qū)房源關注數(shù)量對比"),legend_opts=opts.LegendOpts(is_show=False))pie1.set_series_opts(label_opts=opts.LabelOpts(formatter=":wikk0o8%"))pie1.render_notebook()杭州市在售房源數(shù)據(jù)分析與可視化圖3-11杭州市各區(qū)房源關注數(shù)量對比圓環(huán)圖掃描二維碼在線瀏覽電子活頁3-5“繪制杭州市各區(qū)房源關注度對比柱形圖”中的代碼及繪制的圖形。杭州市在售房源數(shù)據(jù)分析與可視化data["戶型"]=data["室數(shù)"].astype("str")+"室"+data["廳數(shù)"].astype("str")+"廳"對比分析杭州市在售房源戶型的關注度將“室數(shù)”與“廳數(shù)”合并為“X室Y廳”的形式,代碼如下:繪制杭州市在售房源關注度排前10位的戶型柱形圖的代碼如下:house_type_attention=data.groupby("戶型")["關注"].sum().sort_values(ascending=False).reset_index()bar1=Bar(init_opts=opts.InitOpts(theme='wonderland',width='600px',height='400px'))bar1.add_xaxis(house_type_attention.head(10)["戶型"].to_list())bar1.add_yaxis("",house_type_attention.head(10)["關注"].to_list())bar1.set_series_opts(label_opts=opts.LabelOpts(is_show=True))bar1.set_global_opts(title_opts=opts.TitleOpts(title="杭州市在售房源關注度排前10位的戶型"),xaxis_opts=opts.AxisOpts(axislabel_opts={"interval":"0"}))bar1.render_notebook()杭州市在售房源數(shù)據(jù)分析與可視化圖3-12杭州市在售房源關注度排前10位的戶型柱形圖掃描二維碼在線瀏覽電子活頁3-6“繪制杭州市在售房源關注度排前10位的戶型柱形圖方法2”中的代碼及繪制的圖形。杭州市在售房源數(shù)據(jù)分析與可視化繪制杭州市在售房源戶型分布餅圖的代碼如下:temp=data.groupby(['戶型'])['面積'].count().reset_index()data_pair=sorted([(row['戶型'],row['面積'])for_,rowintemp.iterrows()],key=lambdax:x[1],reverse=True)[:10]pie=(Pie(init_opts=opts.InitOpts(theme='dark')).add('',data_pair,radius=["30%","75%"],rosetype="radius").set_global_opts(title_opts=opts.TitleOpts(title="杭州市在售房源的戶型分布"),legend_opts=opts.LegendOpts(is_show=False),).set_series_opts(label_opts=opts.LabelOpts(formatter=":iuwqwus%")))pie.render_notebook()杭州市在售房源數(shù)據(jù)分析與可視化圖3-13杭州市在售房源戶型分布餅圖掃描二維碼在線瀏覽電子活頁3-7“繪制杭州市在售房源不同窗戶朝向關注度圓環(huán)圖”中的代碼及繪制的圖形。對比分析杭州市在售房源不同窗戶朝向關注度杭州市在售房源數(shù)據(jù)分析與可視化對比分析杭州市在售房源不同產權的關注度繪制杭州市在售房源不同產權的關注度對比圓環(huán)圖的代碼如下:property_right_attention=data.groupby("產權")["關注"].sum().sort_values(ascending=False).reset_index()pair6=[(row["產權"],row["關注"])fori,rowinproperty_right_attention.iterrows()]pie2=Pie(init_opts=opts.InitOpts(theme='macarons',width='800px',height='400px'))pie2.add('',pair6,radius=["35%","75%"])pie2.set_global_opts(title_opts=opts.TitleOpts(title="不同產權的關注度對比"),legend_opts=opts.LegendOpts(is_show=True))pie2.set_series_opts(label_opts=opts.LabelOpts(formatter=":ia0goiw%"))pie2.render_notebook()圖3-14杭州市在售房源不同產權的關注度對比圓環(huán)圖杭州市在售房源數(shù)據(jù)分析與可視化對比分析杭州市在售房源樓層位置對關注度的影響將“樓層位置”根據(jù)設置的范圍規(guī)則(每5層設置一個區(qū)間)劃分層數(shù)范圍,代碼如下:cut_range=[xforxinrange(5,61,5)]cut_name=[str(cut_range[i])+"~"+str(cut_range[i+1])+"層"foriinrange(11)]data["層數(shù)范圍"]=pd.cut(data["層數(shù)"],cut_range,labels=cut_name)繪制杭州市在售房源不同樓層的關注度對比柱形圖的代碼如下:floor_attention=data.groupby("層數(shù)范圍")["關注"].sum().sort_values(ascending=False).reset_index()bar2=Bar(init_opts=opts.InitOpts(theme='vintage',width='600px',height='400px'))bar2.add_xaxis(floor_attention["層數(shù)范圍"].to_list())bar2.add_yaxis("關注度",floor_attention["關注"].to_list())bar2.set_series_opts(label_opts=opts.LabelOpts(is_show=True))bar2.set_global_opts(title_opts=opts.TitleOpts(title="不同樓層的關注度對比"),xaxis_opts=opts.AxisOpts(axislabel_opts={"interval":"0","rotate":45}))bar2.render_notebook()杭州市在售房源數(shù)據(jù)分析與可視化對比分析杭州市在售房源裝修情況對關注度的影響繪制杭州市在售房源不同裝修情況的關注度對比條形圖的代碼如下:decoration_attention=data.groupby("裝修情況")["關注"].sum().sort_values(ascending=False).reset_index()bar3=Bar(init_opts=opts.InitOpts(theme='westeros',width='600px',height='275px'))bar3.add_xaxis(decoration_attention["裝修情況"].to_list())bar3.add_yaxis("關注度",decoration_attention["關注"].to_list())bar3.set_series_opts(label_opts=opts.LabelOpts(is_show=True,position='right'))bar3.set_global_opts(title_opts=opts.TitleOpts(title="不同裝修情況的關注度對比"),xaxis_opts=opts.AxisOpts(axislabel_opts={"interval":"0"}))bar3.reversal_axis()bar3.render_notebook()掃描二維碼在線瀏覽電子活頁3-8“繪制杭州市在售房源不同裝修情況關注度餅圖”中的代碼及繪制的圖形。杭州市在售房源數(shù)據(jù)分析與可視化對比分析杭州市各區(qū)房源平均面積繪制杭州市各區(qū)房源平均面積條形圖的代碼如下:size_district=data.groupby('地理位置')['面積'].mean().sort_values(ascending=True).reset_index()bar3=Bar(init_opts=opts.InitOpts(theme='vintage',width='800px',height='600px'))bar3.add_xaxis(size_district['地理位置'].to_list())bar3.add_yaxis("平均面積",round(size_district['面積'],2).to_list())bar3.set_series_opts(label_opts=opts.LabelOpts(is_show=True,position='right'))bar3.set_global_opts(title_opts=opts.TitleOpts("杭州市各區(qū)房源平均面積對比"),xaxis_opts=opts.AxisOpts(axislabel_opts={'interval':"0"}))bar3.reversal_axis()bar3.render_notebook()杭州市在售房源數(shù)據(jù)分析與可視化圖3-17杭州市各區(qū)房源平均面積對比條形圖杭州市在售房源數(shù)據(jù)分析與可視化對比分析杭州市各區(qū)房源面積分布和房屋總價-面積關系繪制杭州市各區(qū)房源面積分布圖和房屋總價-面積關系散點圖的代碼如下:f,[ax1,ax2]=plt.subplots(1,2,figsize=(18,6))sns.distplot(data['面積'],ax=ax1,rug=True,bins=20)ax1.set_title('杭州市各區(qū)房源面積分布',fontsize=12)ax1.tick_params(labelsize=14)sns.regplot(x='面積',y='總價',data=data,ax=ax2)ax2.set_title('房屋總價和面積關系',fontsize=12)ax2.tick_params(labelsize=14)ax2.set_xlabel('房屋面積/m2',fontsize=12)ax2.set_ylabel('房屋總價/萬元',fontsize=12)plt.show()掃描二維碼在線瀏覽電子活頁3-9“繪制杭州市在售房源總價-面積散點圖”中的代碼及繪制的圖形。杭州市在售房源數(shù)據(jù)分析與可視化圖3-18杭州市各區(qū)房源面積分布圖和房屋總價-面積關系散點圖杭州市在售房源數(shù)據(jù)分析與可視化對比分析杭州市在售房源面積-單價關系繪制杭州市在售房源面積-單價關系散點圖的代碼如下:plt.figure(figsize=(12,6))x=data["單價"]y=data["面積"]plt.scatter(x,y,marker='o',s=10,c=x,alpha=0.8,)plt.xlabel('單價')plt.ylabel('面積')plt.grid()plt.title("杭州市在售房源面積-單價關系圖")圖3-19杭州市在售房源面積-單價關系散點圖杭州市在售房源數(shù)據(jù)分析與可視化對比分析杭州市在售房源掛牌時間和建造時間分布情況繪制杭州市2020—2022年在售房源掛牌時間分布情況折線圖的代碼如下:dd=data.groupby("掛牌時間").count()["地理位置"]dd=dd["2020":"2022"]plt.figure(figsize=(12,6))plt.title("杭州市在售房源掛牌時間分布情況")plt.xticks(rotation=30,fontsize=12)plt.plot(dd.index,dd)圖3-20杭州市2020—2022年在售房源掛牌時間分布情況折線圖杭州市在售房源數(shù)據(jù)分析與可視化繪制杭州市1990—2022年在售房源建造時間分布情況折線圖的代碼如下:dd=data.groupby("起建時間").count()["地理位置”]dd=dd["1990":"2022"]plt.figure(figsize=(16,9))plt.title("杭州市在售房源建造時間分布情況")plt.xticks(rotation=30,fontsize=12)plt.plot(dd.index,dd)杭州市在售房源數(shù)據(jù)分析與可視化杭州市在售房源板塊名稱詞云分析對數(shù)據(jù)集進行簡單的預處理,代碼如下:df1=house_df.copy()df1["區(qū)"]=df1["區(qū)域"].str[0:2]df1["板塊"]=df1["區(qū)域"].str[2:]#單價,只留數(shù)字df1["單價"]=df1["單價"].str[:-4]df1["單價"]=df1["單價"].astype("int64")dz=df1[(data["單價"]>20000)&(df1["單價"]<50000)]繪制杭州市在售房源板塊名稱詞云圖的代碼如下:dcloud=dz.groupby("板塊").count()dcloud["address"]=dcloud.indextext=[]foriinrange(len(dcloud["address"])):text.append((dcloud["address"][i],str(dcloud["區(qū)"][i])))杭州市在售房源數(shù)據(jù)分析與可視化w1=(WordCloud().add(series_name="熱點數(shù)值",data_pair=text,word_size_range=[1,100]).set_global_opts(title_opts=opts.TitleOpts(title="杭州市在售房源板塊名稱詞云圖",title_textstyle_opts=opts.TextStyleOpts(font_size=23)),tooltip_opts

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論