因為對好友搬家的原因,對珠海房租產(chǎn)生一定的興趣挡毅,想要研究分析一下珠海的房租情況蒜撮。
首先需要寫一個收集數(shù)據(jù)的函數(shù),從租房網(wǎng)站上爬去房源房租信息。將爬取下來的數(shù)據(jù)進行清洗段磨,整合取逾,然后再進行分析。
本次分析使用Python苹支,用到的庫有pandas庫,numpy庫砾隅,re庫,BeautifulSoup庫债蜜,requests庫晴埂。
1、收集房源鏈接
設(shè)計函數(shù)makepage(n1,n2)寻定。makepage(n1,n2)函數(shù)的功能是輸入n1,n2儒洛,收集從第n1頁到第n2頁的房源鏈接,返回有房源連接的列表狼速。
2琅锻、收集房源的具體信息
設(shè)計getHouse(url)函數(shù),主要是將從makepage(n1,n2)函數(shù)收集到的房源鏈接上唐含,獲取房源的詳細信息浅浮,例如房租,房子所在區(qū)域捷枯,房子面積等信息滚秩。
然后通過for循環(huán),將makepage(n1,n2)函數(shù)收集到的房源鏈接一個個提取出來淮捆,使用getHouse(url)函數(shù)獲取房子信息郁油,然后將獲取的信息放到一個空列表(houselist)里,然后用pandas庫的pandas.DataFrame(houselist)攀痊,將數(shù)據(jù)表格化呈現(xiàn)桐腌。
3、清洗數(shù)據(jù)
數(shù)據(jù)被我們采集下來是非彻毒叮混亂的案站,有些字段的的數(shù)據(jù)有著很多的空缺值,根據(jù)我們采集下來的數(shù)據(jù)字段棘街,有65個字段蟆盐,其中有很多樓層字段,例如:樓層(共10層)遭殉、樓層(共12層)石挂。同時由于標題是不可能出現(xiàn)缺失值的,如果標題出現(xiàn)了缺失值险污,那就證明表格這一行數(shù)據(jù)都出現(xiàn)了缺失了痹愚。
使用df['標題'].notnull(),排除整行的缺失值。
4拯腮、將樓層數(shù)據(jù)匯集成一列窖式,刪掉關(guān)于樓層的多余列,從數(shù)據(jù)的缺失度疾瓮,以及重要性來看脖镀,小區(qū)介紹,戶型介紹狼电,服務(wù)介紹,房源亮點蜒灰,周邊配套所在小區(qū)可以清洗掉,然后將床、空調(diào)肩碟、寬帶强窖、暖氣、冰箱削祈、電視翅溺、洗衣機、熱水器合并成一列髓抑,再清洗相關(guān)字段
5咙崎、盡管將數(shù)據(jù)清洗了,但是數(shù)據(jù)里仍然包含了部分不需要的字段吨拍,而且數(shù)據(jù)排列很雜亂和不美觀褪猛,而且想把建筑面積數(shù)值、所在區(qū)域和抵押方式提取出來羹饰。這里使用到strip(),split()以及正則表達式伊滋,來提取數(shù)據(jù)。
6队秩、數(shù)據(jù)清洗完后笑旺,我們就來進行數(shù)據(jù)分析。
首先進行描述性分析
根據(jù)描述分析馍资,中位數(shù)和均值筒主,出現(xiàn)較大差距,證明租金和建筑面積都有極值出現(xiàn)鸟蟹,而且標準差和均值的差距較大物舒,說明數(shù)據(jù)比較離散,存在極值戏锹。通過散點圖、租金和建筑面積直方圖得出火诸,租金出現(xiàn)一個極值25000元锦针,建筑面積出現(xiàn)2個極值300平米。
7、現(xiàn)在來看一下各個區(qū)域的房源數(shù)量和平均數(shù)據(jù)分別是多少奈搜,從圖中可以看出平均房租租金收費高的前五地區(qū)是南屏悉盆、吉大、新香洲馋吗、唐家灣和蘭埔焕盟,同時房源數(shù)量 前五的區(qū)域分別是南屏、新香洲宏粤、吉大脚翘、唐家灣和前山
8、建立箱形圖绍哎,圖像化每個區(qū)域的房租分布来农。根據(jù)圖中顯示,分布比較均衡的區(qū)域是紅旗崇堰、老香洲沃于,三灶、唐家灣海诲、南屏繁莹、夏灣、新香洲特幔、灣仔咨演、白藤頭以及吉大房租租金都有極值出現(xiàn),吉大甚至出現(xiàn)了整個數(shù)據(jù)極值25000塊.
9敬辣、根據(jù)文章標題雪标,建立詞云圖。詞云圖根據(jù)詞語在標題中出現(xiàn)的頻率溉跃,對詞語進行統(tǒng)計描繪村刨,字體大小決定該詞匯在整個文本的權(quán)重。從圖中可知撰茎,權(quán)重前3的詞語分別是“精裝”嵌牺、“家電 齊全”和“家私 家電”。
由于采集的數(shù)據(jù)量較少龄糊,只有500多條逆粹,不能代表珠海整體的租房情況,僅供參考炫惩。