国产精品电影_久久视频免费_欧美日韩国产激情_成年人视频免费在线播放_日本久久亚洲电影_久久都是精品_66av99_九色精品美女在线_蜜臀a∨国产成人精品_冲田杏梨av在线_欧美精品在线一区二区三区_麻豆mv在线看

手把手教你用Pandas分析全國城市房價

開發(fā) 后端
Pandas在配合做網(wǎng)絡(luò)數(shù)據(jù)采集爬蟲時,也能發(fā)揮其優(yōu)勢,可承擔(dān)數(shù)據(jù)調(diào)用、數(shù)據(jù)存儲的工作。將數(shù)據(jù)存入DataFrame后,可直接進(jìn)入下一步分析。本例以獲取某房產(chǎn)網(wǎng)站中房價為目標(biāo),來體驗一下Pandas的便捷之處。

 [[414927]]

本文轉(zhuǎn)載自微信公眾號「數(shù)倉寶貝庫」,作者李慶輝。轉(zhuǎn)載本文請聯(lián)系數(shù)倉寶貝庫公眾號。

Pandas在配合做網(wǎng)絡(luò)數(shù)據(jù)采集爬蟲時,也能發(fā)揮其優(yōu)勢,可承擔(dān)數(shù)據(jù)調(diào)用、數(shù)據(jù)存儲的工作。將數(shù)據(jù)存入DataFrame后,可直接進(jìn)入下一步分析。本例以獲取某房產(chǎn)網(wǎng)站中房價為目標(biāo),來體驗一下Pandas的便捷之處。

首先利用requests(需要安裝)庫獲取單個小區(qū)的平均價格:

  1. import requests # 安裝:pip install requests 
  2.  
  3. # 創(chuàng)建一個Session 
  4.  
  5. s = requests.Session() 
  6.  
  7. # 訪問小區(qū)頁面 
  8.  
  9. xq = s.get('https://bj.lianjia.com/xiaoqu/1111027382589/'
  10.  
  11. # 查看頁面源碼 
  12.  
  13. xq.text 
  14.  
  15. # 找到價格位置附近的源碼為: 
  16.  
  17. # <span class="xiaoquUnitPrice">95137</span> 
  18.  
  19. # 切分與解析 
  20.  
  21. xq.text.split('xiaoquUnitPrice">')[1].split('</span>')[0] 
  22.  
  23. '93754' 

最終得到這個小區(qū)的平均房價。這里使用了將目標(biāo)信息兩邊的信息進(jìn)行切片、形成列表再讀取的方法。也可以用第三方庫Beautiful Soup 4來解析。Beautiful Soup是一個可以從HTML或XML文件中提取數(shù)據(jù)的Python庫,它能夠通過解析源碼來方便地獲取指定信息。

我們構(gòu)建獲取小區(qū)名稱和平均房價的函數(shù):

  1. # 獲取小區(qū)名稱的函數(shù) 
  2.  
  3. def pa_name(x): 
  4.  
  5.     xq = s.get(f'https://bj.lianjia.com/xiaoqu/{x}/'
  6.  
  7.     name = xq.text.split('detailTitle">')[1].split('</h1>')[0] 
  8.  
  9.     return name 
  10.  
  11.  
  12. # 獲取平均房價的函數(shù) 
  13.  
  14. def pa_price(x): 
  15.  
  16.     xq = s.get(f'https://bj.lianjia.com/xiaoqu/{x}/'
  17.  
  18.     price = xq.text.split('xiaoquUnitPrice">')[1].split('</span>')[0] 
  19.  
  20.     return price 

接下來利用Pandas執(zhí)行爬蟲獲取信息:

  1. # 小區(qū)列表 
  2.  
  3. xqs = [1111027377595, 1111027382589, 
  4.  
  5.        1111027378611, 1111027374569, 
  6.  
  7.        1111027378069, 1111027374228, 
  8.  
  9.        116964627385853] 
  10.  
  11.  
  12. # 構(gòu)造數(shù)據(jù) 
  13.  
  14. df = pd.DataFrame(xqs, columns=['小區(qū)']) 
  15.  
  16.  
  17. # 爬取小區(qū)名 
  18.  
  19. df['小區(qū)名'] = df.小區(qū).apply(lambda x: pa_name(x)) 
  20.  
  21. # 爬取房價 
  22.  
  23. df['房價'] = df.小區(qū).apply(lambda x: pa_price(x)) 
  24.  
  25.  
  26. # 查看結(jié)果 
  27.  
  28. df 
  29.  
  30. ''
  31.  
  32.                 小區(qū)      小區(qū)名      房價 
  33.  
  34. 0    1111027377595     瞰都國際   73361 
  35.  
  36. 1    1111027382589  棕櫚泉國際公寓   93754 
  37.  
  38. 2    1111027378611     南十里居   56459 
  39.  
  40. 3    1111027374569     觀湖國際   88661 
  41.  
  42. 4    1111027378069     麗水嘉園   76827 
  43.  
  44. 5    1111027374228  泛海國際碧海園   97061 
  45.  
  46. 6  116964627385853  東山condo  145965 
  47.  
  48. ''

可以先用Python的類改造函數(shù),再用鏈?zhǔn)椒椒ㄕ{(diào)用:

  1. # 爬蟲類 
  2.  
  3. class PaChong(object): 
  4.  
  5.     def __init__(self, x): 
  6.  
  7.         self.s = requests.session() 
  8.  
  9.         self.xq = self.s.get(f'https://bj.lianjia.com/xiaoqu/{x}/'
  10.  
  11.         self.name = self.xq.text.split('detailTitle">')[1].split('</h1>')[0] 
  12.  
  13.         self.price = self.xq.text.split('xiaoquUnitPrice">')[1].split('</span>')[0] 
  14.  
  15.  
  16. # 爬取數(shù)據(jù) 
  17.  
  18.  
  19.     df 
  20.  
  21.     .assign(小區(qū)名=df.小區(qū).apply(lambda x: PaChong(x).name)) 
  22.  
  23.     .assign(房價=df.小區(qū).apply(lambda x: PaChong(x).price)) 
  24.  

以上網(wǎng)站可能會改版,代碼不適用時需要調(diào)整爬蟲代碼。

02全國城市房價分析

中國主要城市的房價可以從https://www.creprice.cn/rank/index.html獲取。該網(wǎng)頁中會顯示上一個月的房價排行情況,先復(fù)制前20個城市的數(shù)據(jù),然后使用pd.read_clipboard()讀取。我們來分析一下該月的數(shù)據(jù)(下例中用的是2020年10月數(shù)據(jù))。

  1. import pandas as pd 
  2.  
  3. import matplotlib.pyplot as plt 
  4.  
  5. plt.rcParams['figure.figsize'] = (8.0, 5.0) # 固定顯示大小 
  6.  
  7. plt.rcParams['font.family'] = ['sans-serif'] # 設(shè)置中文字體 
  8.  
  9. plt.rcParams['font.sans-serif'] = ['SimHei'] # 設(shè)置中文字體 
  10.  
  11. plt.rcParams['axes.unicode_minus'] = False # 顯示負(fù)號 
  12.  
  13. dfr = pd.read_clipboard() 
  14.  
  15.  
  16. # 取源數(shù)據(jù) 
  17.  
  18. dfr.head() 
  19.  
  20. ''
  21.  
  22.    序號 城市名稱 平均單價(元/㎡)  環(huán)比 同比 
  23.  
  24. 0   1   深圳    78,722  +2.61%  +20.44% 
  25.  
  26. 1   2   北京    63,554  -0.82%    -1.2% 
  27.  
  28. 2   3   上海    58,831   +0.4%    +9.7% 
  29.  
  30. 3   4   廈門    48,169  -0.61%   +9.52% 
  31.  
  32. 4   5   廣州    38,351  -1.64%  +13.79% 
  33.  
  34. ''

查看數(shù)據(jù)類型:

  1. dfr.dtypes 
  2.  
  3. ''
  4.  
  5. 序號            int64 
  6.  
  7. 城市名稱         object 
  8.  
  9. 平均單價(元/㎡)    object 
  10.  
  11. 環(huán)比           object 
  12.  
  13. 同比           object 
  14.  
  15. dtype: object 
  16.  
  17. ''

數(shù)據(jù)都是object類型,需要對數(shù)據(jù)進(jìn)行提取和類型轉(zhuǎn)換:

  1. df = ( 
  2.  
  3.     # 去掉千分位符并轉(zhuǎn)為整型 
  4.  
  5.     dfr.assign(平均單價=dfr['平均單價(元/㎡)'].str.replace(',','').astype(int)) 
  6.  
  7.     .assign(同比=dfr.同比.str[:-1].astype(float)) # 去百分號并轉(zhuǎn)為浮點型 
  8.  
  9.     .assign(環(huán)比=dfr.環(huán)比.str[:-1].astype(float)) # 去百分號并轉(zhuǎn)為浮點型 
  10.  
  11.     .loc[:,['城市名稱','平均單價','同比','環(huán)比']] # 重命名列 
  12.  
  13.  
  14.  
  15.  
  16. df.head() 
  17.  
  18. ''
  19.  
  20.   城市名稱  平均單價 同比  環(huán)比 
  21.  
  22. 0   深圳  78722  20.44  2.61 
  23.  
  24. 1   北京  63554  -1.20 -0.82 
  25.  
  26. 2   上海  58831   9.70  0.40 
  27.  
  28. 3   廈門  48169   9.52 -0.61 
  29.  
  30. 4   廣州  38351  13.79 -1.64 
  31.  
  32. ''

接下來就可以對整理好的數(shù)據(jù)進(jìn)行分析了。首先看一下各城市的均價差異,數(shù)據(jù)順序無須再調(diào)整,代碼執(zhí)行效果如圖1所示。

  1.  
  2.     df.set_index('城市名稱'
  3.  
  4.     .平均單價 
  5.  
  6.     .plot 
  7.  
  8.     .bar() 
  9.  

圖1 各城市平均房價

各城市平均房價同比與環(huán)比情況如圖2所示。

  1.  
  2.     df.set_index('城市名稱'
  3.  
  4.     .loc[:, '同比':'環(huán)比'
  5.  
  6.     .plot 
  7.  
  8.     .bar() 
  9.  

圖2 各城市平均房價同比和環(huán)比

將同比與環(huán)比的極值用樣式標(biāo)注,可見東莞異常突出,房價同比、環(huán)比均大幅上升,如圖3所示。

  1.  
  2.     df.style 
  3.  
  4.     .highlight_max(color='red', subset=['同比''環(huán)比']) 
  5.  
  6.     .highlight_min(subset=['同比''環(huán)比']) 
  7.  
  8.     .format({'平均單價':"{:,.0f}"}) 
  9.  
  10.     .format({'同比':"{:2}%"'環(huán)比':"{:2}%"}) 
  11.  

圖3 各城市平均房價變化樣式圖

繪制各城市平均單價條形圖,如圖4所示。

  1. # 條形圖 
  2.  
  3.  
  4.     df.style 
  5.  
  6.     .bar(subset=['平均單價'], color='yellow'
  7.  

圖4 各城市平均單價樣式圖

將數(shù)據(jù)樣式進(jìn)行綜合可視化:將平均單價背景色設(shè)為漸變,并指定色系BuGn;同比、環(huán)比條形圖使用不同色系,且以0為中點,體現(xiàn)正負(fù);為比值加百分號。最終效果如圖5所示。

  1.  
  2.     df.style 
  3.  
  4.     .background_gradient(subset=['平均單價'], cmap='BuGn'
  5.  
  6.     .format({'同比':"{:2}%"'環(huán)比':"{:2}%"}) 
  7.  
  8.     .bar(subset=['同比'],  
  9.  
  10.         color=['#ffe4e4','#bbf9ce'], # 上漲、下降的顏色 
  11.  
  12.         vmin=0, vmax=15, # 范圍定為以0為基準(zhǔn)的上下15 
  13.  
  14.         align='zero' 
  15.  
  16.         ) 
  17.  
  18.     .bar(subset=['環(huán)比'],  
  19.  
  20.         color=['red','green'], # 上漲、下降的顏色 
  21.  
  22.         vmin=0, vmax=11, # 范圍定為以0為基準(zhǔn)的上下11 
  23.  
  24.         align='zero' 
  25.  
  26.         ) 
  27.  

圖5 各城市平均房價綜合樣式圖

本文摘編于《深入淺出Pandas:利用Python進(jìn)行數(shù)據(jù)處理與分析》,經(jīng)出版方授權(quán)發(fā)布。

作者:李慶輝,數(shù)據(jù)產(chǎn)品專家,某電商公司數(shù)據(jù)產(chǎn)品團(tuán)隊負(fù)責(zé)人,擅長通過數(shù)據(jù)治理、數(shù)據(jù)分析、數(shù)據(jù)化運營提升公司的數(shù)據(jù)應(yīng)用水平。

 

責(zé)任編輯:武曉燕 來源: 數(shù)倉寶貝庫
相關(guān)推薦

2021-02-06 14:55:05

大數(shù)據(jù)pandas數(shù)據(jù)分析

2021-08-09 13:31:25

PythonExcel代碼

2022-04-01 20:29:26

Pandas數(shù)據(jù)存儲

2022-10-19 14:30:59

2021-02-04 09:00:57

SQLDjango原生

2011-03-28 16:14:38

jQuery

2022-08-04 10:39:23

Jenkins集成CD

2009-04-22 09:17:19

LINQSQL基礎(chǔ)

2022-04-24 10:33:56

大數(shù)據(jù)數(shù)據(jù)分析

2021-05-10 06:48:11

Python騰訊招聘

2021-01-21 09:10:29

ECharts柱狀圖大數(shù)據(jù)

2021-01-08 10:32:24

Charts折線圖數(shù)據(jù)可視化

2012-01-11 13:40:35

移動應(yīng)用云服務(wù)

2021-12-11 20:20:19

Python算法線性

2021-02-02 13:31:35

Pycharm系統(tǒng)技巧Python

2020-03-08 22:06:16

Python數(shù)據(jù)IP

2020-11-08 14:13:31

Python帕累托分析開發(fā)

2017-10-27 10:29:35

人臉識別UbuntuPython

2021-06-05 23:51:21

ECharts氣泡圖散點圖

2009-08-27 18:10:58

PHP繪制3D圖形
點贊
收藏

51CTO技術(shù)棧公眾號

麻豆精品久久| 麻豆久久久久久久| 免费看一级大黄情大片| 日韩精品高清在线| 亚洲老妇xxxxxx| 亚洲免费婷婷| 亚洲a在线视频| 污网站免费在线观看| 欧美日本视频在线观看| 亚洲aⅴ男人的天堂在线观看| 欧美激情亚洲国产| 久久久最新网址| 欧美猛交ⅹxxx乱大交视频| 精品自在线视频| 欧美成人免费在线视频| 一区二区三区四区在线观看视频| 91精品在线免费观看| 欧美亚洲日本一区| 亚洲国产精品国自产拍av| 香蕉精品999视频一区二区 | 欧美精品国产精品久久久 | 一级免费视频| 国产综合色香蕉精品| 欧美大片一区二区三区| 成人av午夜电影| 91亚洲成人| 九九热hot精品视频在线播放| 欧美调教sm| 91福利在线视频| 精品欧美一区免费观看α√| 久久99久久精品国产| 国产成人一区二区三区电影| 国产一区二区三区色淫影院| 欧美午夜精品久久久久久蜜| 日韩精品一区二区三区丰满| 久久99精品国产一区二区三区| 色综合影院在线观看| 大片在线观看网站免费收看| 糖心vlog在线免费观看| 国产精品麻豆va在线播放| 精品国产一区二区三区久久久狼 | 日本在线观看大片免费视频| 91.·福利| 国产成人在线小视频| 国产精品久久久久久久久久久久冷| 99免费在线观看视频| 欧洲美女7788成人免费视频| 18久久久久久| 国产精品第二页| 国产精品高清网站| 欧美成人免费小视频| 精品国模在线视频| 国产香蕉97碰碰久久人人| 色狠狠久久aa北条麻妃| www.亚洲一区| www.日韩视频| 欧美理论电影在线播放| 久久精品免费播放| 久久色免费在线视频| 久久精品国产亚洲| 欧美精品情趣视频| 久久免费少妇高潮久久精品99| 日韩中文字幕在线观看| 久久99国产精品自在自在app| 中文字幕在线日韩 | 国产三级三级看三级| 中文字幕第21页| 99不卡视频| 一菊综合网成人综合网| 中文字幕一区免费| 久久电影中文字幕| 国产高清视频在线播放| 制服丝袜在线播放| 男人av在线播放| 全亚洲第一av番号网站| 999精品嫩草久久久久久99| 精品国产一区二| 啪啪国产精品| 涩涩涩在线视频| 91国拍精品国产粉嫩亚洲一区| 精品久久久久久久久久岛国gif| 色呦呦在线资源| 成人动漫在线播放| 天堂av网在线| 日韩黄色视屏| 16—17女人毛片毛片| 日韩欧美xxxx| 国产精品视频不卡| 国产99久久精品一区二区| 97国产精品视频| 成人免费xxxxx在线观看| 精品一区久久| 女人被男人躁得好爽免费视频| 男男互摸gay网站| 日本福利在线观看| 亚洲黄色免费av| 欧美人妖在线观看| 亚洲欧美网站在线观看| 狠狠88综合久久久久综合网| 久久精品久久99精品久久| 国产成人精品免费网站| 免费观看日韩av| 国产精品久久久久久久久搜平片| 欧美在线视频不卡| 亚洲日韩欧美视频一区| 欧美激情精品久久久久久蜜臀| 国产一区二区在线免费| 欧美lavv| 日本xxxx黄色| 亚洲国产精品麻豆| 最新中文字幕亚洲| 91精品国产乱码久久久久久久久 | 国产精品一二三在线观看| 免费涩涩18网站入口| 欧美激情二区| 韩国精品主播一区二区在线观看| 蜜桃精品wwwmitaows| 欧美一区在线看| 成人av在线资源网站| 偷偷要91色婷婷| 亚洲午夜小视频| 成人h片在线播放免费网站| 亚洲日本欧美在线| 欧美日韩亚洲一区二区三区四区| 高清一区二区视频| 全色精品综合影院| 国产免费拔擦拔擦8x高清在线人| 欧美大胆a级| 韩国精品在线观看| 亚洲一区二区偷拍精品| 亚洲精品大尺度| 欧美日韩不卡合集视频| 91在线观看免费观看 | 精品免费日韩av| 国产精品高潮呻吟久久av无限 | 国产在线观看一区二区三区| 久久亚洲中文字幕无码| freemovies性欧美| 精品麻豆剧传媒av国产九九九| 综合激情在线| 91日韩精品一区| 在线精品视频一区二区三四 | 精品一区精品二区| 欧美一级在线亚洲天堂| 青娱乐一区二区| 电影天堂爱爱爱爱| 蜜臀av国内免费精品久久久夜夜| 欧美亚洲精品在线| 国产成人av一区二区三区在线| 一本到高清视频免费精品| 日韩在线观看你懂的| 97超级在线观看免费高清完整版电视剧| 亚洲国产精品久久久久爰色欲| 免费高清完整在线观看| 国内精品国产成人国产三级粉色 | 精品一区二区三区欧美| 欧美性猛交xxxx黑人| 国产一区二区动漫| 成人av片网址| 夜夜爽99久久国产综合精品女不卡 | 自拍欧美日韩| 99久久精品国产毛片| 欧美乱妇一区二区三区不卡视频| 97色在线视频观看| 青青草综合在线| 人操人视频在线观看 | 成人av黄色| 国产亚洲一区二区三区不卡| 麻豆专区一区二区三区四区五区| 亚洲精品视频在线观看网站| 日韩亚洲第一页| 亚洲综合中文字幕在线| 亚洲伦理电影| 色成人免费网站| 久久久久国内| 色嗨嗨av一区二区三区| 久久露脸国产精品| 日本在线视频www| 欧美gv在线| 蜜桃精品视频在线| 欧美性猛交xxxx富婆弯腰| 国产精品av电影| 日本va中文字幕| av不卡高清| 精品在线观看视频| 夜夜嗨av一区二区三区网页| 最好看的2019年中文视频| 亚洲电影网站| 中文视频在线| 精品国产一区二区三区久久久蜜臀 | 欧美在线视频一二三| 国产一级不卡视频| 白白色在线观看| 羞羞答答成人影院www| 亚洲一卡二卡三卡四卡| 欧美极品少妇xxxxx| 一区二区三区四区视频在线观看 | 日韩成人高清在线| 国产伦精品一区二区三区免费视频| 亚洲成人影院少妇|