【資料處理】北京市租房案例實戰(4)
我報名參加金石計劃1期挑戰——瓜分10萬獎池,這是我的第9篇文章,點選檢視活動詳情
1. 引言
1.1 任務要求:
本節,我們繼續完善北京市租房資料處理實戰,資料集基本處理請參考本系列文章:【資料處理】北京市租房案例實戰(1) - 掘金 (juejin.cn)。
本節的主要任務是對北京市租房資料中的戶型數量進行分析,隨著人們生活水平的提高,以及各住戶的生活需求,開發商設計出了各種各樣的戶型供人們居住。接下來,我們來分析一下戶型,統計租房市場中哪種戶型的房源數量偏多,並篩選出數量大於50%的戶型。
2. 程式碼演示
2.1 戶型數量分析
從原資料表中檢視戶型資料,並賦值給新變數:
python
house_data = file_data["戶型"]
house_data.head()
執行結果如下圖所示:
接下來,我們需要定義一個函式完成以下要求: - 函式任務主要就是去統計每種戶型的數量 1. 先對戶型資料進行去重 2. 統計每種戶型的數量 3. 將鍵值對寫入字典 ```python def all_house(arr): """ 統計每個戶型有多少 構造鍵值對 """ # 去重處理 key = np.unique(arr) result = {} # 空字典
for k in key:
mask = (arr == k)
arr_new = arr[mask]
v = arr_new.size
result[k] = v
return result
``` 呼叫函式寫入資料:
python
house_info = all_house(house_data)
house_info
執行結果如下圖所示:
下面,我們將篩選出戶型數量大於50的資料 - 從字典中篩選資料 - 輸出還是字典形式 ```python
去掉統計數量較少的值
篩選出大於50的資料
house_data = dict((key, value) for key, value in house_info.items() if value > 50) ``` 然後,將字典轉為表格形式: - 使用pd.DataFrame寫入資料
```python
字典轉為列表
show_houses = pd.DataFrame({"戶型":[x for x in house_data.keys()], "數量":[x for x in house_data.values()]}) show_houses ``` 執行結果如下圖所示:
2.2 戶型數量視覺化
我們將要對剛才統計好的戶型數量進行條形圖繪製 - plt.barh:橫向的柱狀圖 - plt.xlabel:新增x軸標籤名稱 - plt.yticks:新增y軸刻度顯示 - range(11):11個刻度 - house_type:刻度名稱
- plt.title:為影象新增名稱
- 前三行程式碼表示開啟支援中文顯示
- y+0.5,x-0.2:調節柱上數字顯示位置 ```python from matplotlib.font_manager import FontProperties myfont=FontProperties(fname=r'/usr/share/fonts/fangzheng/FZSYJW.TTF',size=12) sns.set(font=myfont.get_name())
圖形展示:房屋型別
house_type = show_houses["戶型"] house_type_num = show_houses["數量"] plt.barh(range(11), house_type_num) plt.yticks(range(11), house_type) plt.xlim(0,2500) plt.title("北京市各區租房數量統計")
plt.xlabel("數量") plt.ylabel("房屋型別")
給每個條上面新增具體數字
for x,y in enumerate(house_type_num): print(x,y) plt.text(y+0.5,x-0.2,"%s" %y) plt.show() ``` 執行結果如下圖所示:
- 【深度學習】TensorFlow線性迴歸案例演示(3)
- 【機器學習】LSTM神經網路實現中國人口預測(2)
- 【資料處理】北京市租房案例實戰(5)
- 【資料處理】Pandas庫:畫圖與檔案讀取
- 【資料處理】Pandas庫:陣列運算
- 【資料處理】北京市租房案例實戰(3)
- 【PaddleDetection深度學習】中國交通標誌影象分類任務
- 【資料處理】北京市租房案例實戰(4)
- 【資料處理】北京市租房案例實戰(2)
- 【資料處理】Seaborn-NBA資料分析案例(4)
- 【深度學習】工業安全生產環境違規使用手機的識別
- 【資料處理】北京市租房案例實戰(1)
- 【資料處理】Seaborn-NBA資料分析案例(2)
- 【Numpy】資料處理-Numpy庫基本介紹
- 【Numpy資料處理】ndarray介紹
- 【深度學習】醫學影像目標檢測-瘧原蟲識別問題
- Linux作業系統-基本使用(1)
- 智慧演算法-粒子群演算法(3)
- 智慧演算法-粒子群演算法(2)
- 智慧演算法-禁忌搜尋演算法(2)