【資料處理】北京市租房案例實戰(3)
我報名參加金石計劃1期挑戰——瓜分10萬獎池,這是我的第8篇文章,點選檢視活動詳情
1. 引言
1.1 專案需求:
本節,我們繼續完善北京市租房資料處理實戰,資料集基本處理請參考本系列上篇文章:【資料處理】北京市租房案例實戰(1) - 掘金 (juejin.cn)。
本節將主要任務是對專案進行資料預處理,統一一下表格中某些列的表達方式,比如將“幾房間”替換成“幾室”,轉換資料型別,方便後續進行資料處理。
2. 案例演示
2.1 戶型表達方式替換
在“戶型”一列中,大部分資料顯示的是“室廳”,只有個別資料顯示的是“房間”“衛”,為了方便後期的使用,需要將“房間”替換成“室”,以保證資料的一致性。
- pandas.replace()方法可以完成替換資料的操作
- 使用for迴圈遍歷,對每個值進行替換並追加到新的空陣列內
- 將新的陣列賦值給表格中的指定列,完成替換
獲取資料集:
python
file_data = pd.read_csv("鏈家北京租房資料.csv")
file_data
原資料集大體內容展示如下:原資料集“戶型那一列”表達方式不同意,需要進行替換。
```python
獲取戶型
house_data = file_data["戶型"] temp_list = [] # 建立空列表
for i in house_data: # print(i) new_info = i.replace("房間", "室") # 將房間替換成室 temp_list.append(new_info) temp_list ``` 部分執行結果展示如下:
替換原表格資料:
```python
替換原表格
file_data.loc[:,"戶型"] = temp_list file_data ``` 執行結果如下所示:可以看出,“戶型”那一列已經被替換。
2.2 房源數量&位置分佈分析
如果希望統計各個區域的房源數量,以及檢視這些房屋的分佈情況,則需要先獲取各個區的房源,為了實現這個需求,可以將整個資料按照“區域”一列進行分組。
為了能夠準確地看到各區域的房源數量,這裡只需要展示“區域”和是“數量”這兩列的資料即可。因此,先建立一個空的DataFrame物件,然後再將各個區域計算的總數量作為該物件的資料進行展示。 - 新建DataFrame - file_data["區域"].unique():篩選出區域,同樣的區域保留一個 - DataFrame包含"區域和"數量"兩列
python
new_df = pd.DataFrame({"區域": file_data["區域"].unique(), "數量":[0]*13})
new_df
執行結果:執行結果部分展示
然後,我們使用分組聚合計數的方法,來統計每個區域的房源數量 - groupby(by="區域"):以原表格中“區域”這一列進行分組 - .count()將分組結果中的每組資料進行計數(每個類別有多少樣本) ```python
獲取每個區域房源數量
分組聚合 計數聚合
area_count = file_data.groupby(by="區域").count() ``` 接下來,為列賦值,將分組的結果賦值給剛才新建的DataFrame中的“數量”那一列
```python
為列賦值
new_df["數量"] = area_count.values new_df ``` 執行結果如下圖所示:可以看出已經分組好了並新增到DataFrame中了,但是還沒有排序。
對“數量”那一列進行排序: - 降序排列:ascending=False ```python
排序
降序排列
new_df.sort_values(by="數量", ascending=False) ``` 執行結果如下圖所示:可以看出區域的房源量已經從大到小排序了。
- 【深度學習】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)