奇酷教育-Python培训|UI培训|WEB大前端培训|Unity3D培训|HTML5培训|人工智能培训|JAVA开发的教育品牌

您現(xiàn)在所在的位置:首頁(yè) >關(guān)于奇酷 > 行業(yè)動(dòng)態(tài) > 手把手教你用Python爬中國(guó)電影票房數(shù)據(jù)

手把手教你用Python爬中國(guó)電影票房數(shù)據(jù)

來(lái)源:奇酷教育 發(fā)表于:

和很多同學(xué)接觸過(guò)程中,我發(fā)現(xiàn)自學(xué)Python數(shù)據(jù)分析的一個(gè)難點(diǎn)是資料繁多,過(guò)于復(fù)雜。大部分網(wǎng)上的資料總是從Python語(yǔ)法教起,夾雜著大量Pyth

和很多同學(xué)接觸過(guò)程中,我發(fā)現(xiàn)自學(xué)Python數(shù)據(jù)分析的一個(gè)難點(diǎn)是資料繁多,過(guò)于復(fù)雜。大部分網(wǎng)上的資料總是從Python語(yǔ)法教起,夾雜著大量Python開(kāi)發(fā)的知識(shí)點(diǎn),花了很多時(shí)間卻始終云里霧里,不知道哪些知識(shí)才是真正有用的。

 

本來(lái)以為上手就能寫爬蟲出圖,卻在看基礎(chǔ)的過(guò)程中消耗了一周又一周,以至于很多勵(lì)志學(xué)習(xí)Python的小伙伴犧牲在了入門的前一步。

 

 

于是,我總結(jié)了以下一篇干貨,來(lái)幫助大家理清思路,提高學(xué)習(xí)效率。總共分為三大部分:做Python數(shù)據(jù)分析必知的語(yǔ)法,如何實(shí)現(xiàn)爬蟲,怎么做數(shù)據(jù)分析。

 

 

1.必須知道的兩組Python基礎(chǔ)術(shù)語(yǔ)

 

 

A.變量和賦值

 

Python可以直接定義變量名字并進(jìn)行賦值的,例如我們寫出a = 4時(shí),Python解釋器干了兩件事情:

 

  • 在內(nèi)存中創(chuàng)建了一個(gè)值為4的整型數(shù)據(jù)
  • 在內(nèi)存中創(chuàng)建了一個(gè)名為a的變量,并把它指向4
  • 用一張示意圖表示Python變量和賦值的重點(diǎn)

例如下圖代碼,“=”的作用就是賦值,同時(shí)Python會(huì)自動(dòng)識(shí)別數(shù)據(jù)類型:

請(qǐng)閱讀代碼塊里的代碼和注釋,你會(huì)發(fā)現(xiàn)Python是及其易讀易懂的。請(qǐng)閱讀代碼塊里的代碼和注釋,你會(huì)發(fā)現(xiàn)Python是及其易讀易懂的。

 

B.數(shù)據(jù)類型

 

在初級(jí)的數(shù)據(jù)分析過(guò)程中,有三種數(shù)據(jù)類型是很常見(jiàn)的:

  • 列表list(Python內(nèi)置)
  • 字典dict(Python內(nèi)置)
  • DataFrame(工具包pandas下的數(shù)據(jù)類型,需要import pandas才能調(diào)用)

 

它們分別是這么寫的:

 

列表(list):

??

list是一種有序的集合,里面的元素可以是之前提到的任何一種數(shù)據(jù)格式和數(shù)據(jù)類型(整型、浮點(diǎn)、列表……),并可以隨時(shí)指定順序添加其中的元素,其形式是:

 

字典(dict):

??

字典使用鍵-值(key-value)存儲(chǔ),無(wú)序,具有極快的查找速度。以上面的字典為例,想要快速知道周杰倫的年齡,就可以這么寫:

?

dict內(nèi)部存放的順序和key放入的順序是沒(méi)有關(guān)系的,也就是說(shuō),"章澤天"并非是在"劉強(qiáng)東"的后面。

 

DataFrame:

DataFrame可以簡(jiǎn)單理解為Excel里的表格格式。導(dǎo)入pandas包后,字典和列表都可以轉(zhuǎn)化為DataFrame,以上面的字典為例,轉(zhuǎn)化為DataFrame是這樣的:

和excel一樣,DataFrame的任何一列或任何一行都可以單獨(dú)選出進(jìn)行分析。

 

以上三種數(shù)據(jù)類型是python數(shù)據(jù)分析中用的最多的類型,基礎(chǔ)語(yǔ)法到此結(jié)束,接下來(lái)就可以著手寫一些函數(shù)計(jì)算數(shù)據(jù)了。

 

 

 

2.從Python爬蟲學(xué)循環(huán)函數(shù)

 

 

掌握了以上基本語(yǔ)法概念,我們就足以開(kāi)始學(xué)習(xí)一些有趣的函數(shù)。我們以爬蟲中繞不開(kāi)的遍歷url為例,講講大家最難理解的循環(huán)函數(shù)for的用法:

 

A.for函數(shù)

 

for函數(shù)是一個(gè)常見(jiàn)的循環(huán)函數(shù),先從簡(jiǎn)單代碼理解for函數(shù)的用途:

?

因?yàn)閐ict的存儲(chǔ)不是按照l(shuí)ist的方式順序排列,所以,迭代出的結(jié)果順序很可能不是每次都一樣。默認(rèn)情況下,dict迭代的是key。如果要迭代value,可以用for value in d.values(),如果要同時(shí)#迭代key和value,可以用for k, v in d.items()

 

可以看到,字典里的人名被一一打印出來(lái)了。for 函數(shù)的作用就是用于遍歷數(shù)據(jù)。掌握f(shuō)or函數(shù),可以說(shuō)是真正入門了Python函數(shù)。

 

B.爬蟲和循環(huán)

 

for函數(shù)在書寫Python爬蟲中經(jīng)常被應(yīng)用,因?yàn)?b>爬蟲經(jīng)常需要遍歷每一個(gè)網(wǎng)頁(yè),以獲取信息,所以構(gòu)建完整而正確的網(wǎng)頁(yè)鏈接十分關(guān)鍵。以某票房數(shù)據(jù)網(wǎng)為例,他的網(wǎng)站信息長(zhǎng)這樣:

 

該網(wǎng)站的周票房json數(shù)據(jù)地址可以通過(guò)抓包工具找到,網(wǎng)址為http://www.cbooo.cn/BoxOffice/getWeekInfoData?sdate=20190114

 

仔細(xì)觀察,該網(wǎng)站不同日期的票房數(shù)據(jù)網(wǎng)址(url)只有后面的日期在變化,訪問(wèn)不同的網(wǎng)址(url)就可以看到不同日期下的票房數(shù)據(jù):

?

我們要做的是,遍歷每一個(gè)日期下的網(wǎng)址,用Python代碼把數(shù)據(jù)爬下來(lái)此時(shí)for函數(shù)就派上用場(chǎng)了,使用它我們可以快速生成多個(gè)符合條件的網(wǎng)址:

 

為了方便理解,我給大家畫了一個(gè)for函數(shù)的遍歷過(guò)程示意圖:

此處省略掉后續(xù)爬取過(guò)程,相關(guān)爬蟲代碼見(jiàn)文末。我們使用爬蟲爬取了5800+條數(shù)據(jù),包含20個(gè)字段,時(shí)間囊括了從2008年1月開(kāi)始至2019年2月十一年期間的單周票房、累計(jì)票房、觀影人次、場(chǎng)均人次、場(chǎng)均票價(jià)、場(chǎng)次環(huán)比變化等信息

 

 

 

3.Python怎么實(shí)現(xiàn)數(shù)據(jù)分析?

 

 

除了爬蟲,分析數(shù)據(jù)也是Python的重要用途之一,Excel能做的事,Python究竟怎么實(shí)現(xiàn)呢;Excel不能做的事,Python又是否能實(shí)現(xiàn)呢?利用電影票房數(shù)據(jù),我們分別舉一個(gè)例子說(shuō)明:

 

A.Python分析

 

在做好數(shù)據(jù)采集和導(dǎo)入后,選擇字段進(jìn)行初步分析可以說(shuō)是數(shù)據(jù)分析的必經(jīng)之路。在Dataframe數(shù)據(jù)格式的幫助下,這個(gè)步驟變得很簡(jiǎn)單。

 

比如當(dāng)我們想看單周票房第一的排名分別都是哪些電影時(shí),可以使用pandas工具庫(kù)中常用的方法,篩選出周票房為第一名的所有數(shù)據(jù),并保留相同電影中周票房最高的數(shù)據(jù)進(jìn)行分析整理:

 

 

9行代碼,我們完成了Excel里的透視表、拖動(dòng)、排序等鼠標(biāo)點(diǎn)擊動(dòng)作。最后再用Python中的可視化包matplotlib,快速出圖:

 

 

 

B.函數(shù)化分析

 

以上是一個(gè)簡(jiǎn)單的統(tǒng)計(jì)分析過(guò)程。接下來(lái)就講講Excel基礎(chǔ)功能不能做的事——自定義函數(shù)提效。觀察數(shù)據(jù)可以發(fā)現(xiàn),數(shù)據(jù)中記錄了周票房和總票房的排名,那么剛剛計(jì)算了周票房排名的代碼,還能不能復(fù)用做一張總票房分析呢?

 

當(dāng)然可以,只要使用def函數(shù)和剛剛寫好的代碼建立自定義函數(shù),并說(shuō)明函數(shù)規(guī)則即可:

定義函數(shù)后,批量出圖so easy:

 

學(xué)會(huì)函數(shù)的構(gòu)建,一個(gè)數(shù)據(jù)分析師才算真正能夠告別Excel的鼠標(biāo)點(diǎn)擊模式,邁入高效分析的領(lǐng)域

主站蜘蛛池模板: 专业生物有机肥造粒机,粉状有机肥生产线,槽式翻堆机厂家-郑州华之强重工科技有限公司 | 高温链条油|高温润滑脂|轴承润滑脂|机器人保养用油|干膜润滑剂-东莞卓越化学 | 杭州双螺杆挤出机-百科| 儋州在线-儋州招聘找工作、找房子、找对象,儋州综合生活信息门户! | 煤粉取样器-射油器-便携式等速飞灰取样器-连灵动 | 电力测功机,电涡流测功机,磁粉制动器,南通远辰曳引机测试台 | 金刚网,金刚网窗纱,不锈钢网,金刚网厂家- 河北萨邦丝网制品有限公司 | 湖南长沙商标注册专利申请,长沙公司注册代理记账首选美创! | 上海办公室装修公司_办公室设计_直营办公装修-羚志悦装 | 健康管理师报名入口,2025年健康管理师考试时间信息网-网站首页 塑料造粒机「厂家直销」-莱州鑫瑞迪机械有限公司 | 压砖机_电动螺旋压力机_粉末成型压力机_郑州华隆机械tel_0371-60121717 | 活性氧化铝|无烟煤滤料|活性氧化铝厂家|锰砂滤料厂家-河南新泰净水材料有限公司 | 悬浮拼装地板_幼儿园_篮球场_悬浮拼接地板-山东悬浮拼装地板厂家 | 深圳市万色印象美业有限公司 | 视频直播 -摄影摄像-视频拍摄-直播分发 | 复合土工膜厂家|hdpe防渗土工膜|复合防渗土工布|玻璃纤维|双向塑料土工格栅-安徽路建新材料有限公司 | 房车价格_依维柯/大通/东风御风/福特全顺/江铃图片_云梯搬家车厂家-程力专用汽车股份有限公司 | 水上浮桥-游艇码头-浮动码头-游船码头-码瑞纳游艇码头工程 | 盘扣式脚手架-附着式升降脚手架-移动脚手架,专ye承包服务商 - 苏州安踏脚手架工程有限公司 | 液压油缸-液压缸厂家价格,液压站系统-山东国立液压制造有限公司 液压油缸生产厂家-山东液压站-济南捷兴液压机电设备有限公司 | 首页-恒温恒湿试验箱_恒温恒湿箱_高低温试验箱_高低温交变湿热试验箱_苏州正合 | 建筑消防设施检测系统检测箱-电梯**检测仪器箱-北京宇成伟业科技有限责任公司 | 旅游规划_旅游策划_乡村旅游规划_景区规划设计_旅游规划设计公司-北京绿道联合旅游规划设计有限公司 | 小型手持气象站-空气负氧离子监测站-多要素微气象传感器-山东天合环境科技有限公司 | 电缆接头-防爆电缆接头-格兰头-金属电缆接头-防爆填料函 | 杭州厂房降温,车间降温设备,车间通风降温,厂房降温方案,杭州嘉友实业爽风品牌 | 安徽成考网-安徽成人高考网 | 生物制药洁净车间-GMP车间净化工程-食品净化厂房-杭州波涛净化设备工程有限公司 | 热熔胶网膜|pes热熔网膜价格|eva热熔胶膜|热熔胶膜|tpu热熔胶膜厂家-苏州惠洋胶粘制品有限公司 | 橡胶弹簧|复合弹簧|橡胶球|振动筛配件-新乡市永鑫橡胶厂 | 扬州汇丰仪表有限公司| X光检测仪_食品金属异物检测机_X射线检测设备_微现检测 | 水厂污泥地磅|污泥处理地磅厂家|地磅无人值守称重系统升级改造|地磅自动称重系统维修-河南成辉电子科技有限公司 | 清水混凝土修复_混凝土色差修复剂_混凝土色差调整剂_清水混凝土色差修复_河南天工 | 齿轮减速机电机一体机_齿轮减速箱加电机一体化-德国BOSERL蜗轮蜗杆减速机电机生产厂家 | b2b网站大全,b2b网站排名,找b2b网站就上地球网 | 集菌仪_智能集菌仪_全封闭集菌仪_无菌检查集菌仪厂家-那艾 | 智能化的检漏仪_气密性测试仪_流量测试仪_流阻阻力测试仪_呼吸管快速检漏仪_连接器防水测试仪_车载镜头测试仪_奥图自动化科技 | 河南中专学校|职高|技校招生-河南中职中专网 | 科昊仪器超纯水机系统-可成气相液氮罐-美菱超低温冰箱-西安昊兴生物科技有限公司 | 宁夏档案密集柜,智能密集柜,电动手摇密集柜-盛隆柜业宁夏档案密集柜厂家 |