dataframe类型数据的遍历_Python零基础入门到爬虫再到数据分析,这些你都是要学会的...
1.必須知道的兩組Python基礎(chǔ)術(shù)語
A.變量和賦值
Python可以直接定義變量名字并進(jìn)行賦值的,例如我們寫出a = 4時,Python解釋器干了兩件事情:
- 在內(nèi)存中創(chuàng)建了一個值為4的整型數(shù)據(jù)
- 在內(nèi)存中創(chuàng)建了一個名為a的變量,并把它指向4
用一張示意圖表示Python變量和賦值的重點(diǎn):
例如下圖代碼,“=”的作用就是賦值,同時Python會自動識別數(shù)據(jù)類型:
請閱讀代碼塊里的代碼和注釋,你會發(fā)現(xiàn)Python是及其易讀易懂的。
B.數(shù)據(jù)類型
在初級的數(shù)據(jù)分析過程中,有三種數(shù)據(jù)類型是很常見的:
- 列表list(Python內(nèi)置)
- 字典dic(Python內(nèi)置)
- DataFrame(工具包pandas下的數(shù)據(jù)類型,需要import pandas才能調(diào)用)
它們分別是這么寫的:
列表(list):
list是一種有序的集合,里面的元素可以是之前提到的任何一種數(shù)據(jù)格式和數(shù)據(jù)類型(整型、浮點(diǎn)、列表……),并可以隨時指定順序添加其中的元素,其形式是:
字典(dict):
字典使用鍵-值(key-value)存儲,無序,具有極快的查找速度。以上面的字典為例,想要快速知道周杰倫的年齡,就可以這么寫:
dict內(nèi)部存放的順序和key放入的順序是沒有關(guān)系的,也就是說,"章澤天"并非是在"劉強(qiáng)東"的后面。
DataFrame:
DataFrame可以簡單理解為Excel里的表格格式。導(dǎo)入pandas包后,字典和列表都可以轉(zhuǎn)化為DataFrame,以上面的字典為例,轉(zhuǎn)化為DataFrame是這樣的:
和excel一樣,DataFrame的任何一列或任何一行都可以單獨(dú)選出進(jìn)行分析。
以上三種數(shù)據(jù)類型是python數(shù)據(jù)分析中用的最多的類型,基礎(chǔ)語法到此結(jié)束,接下來就可以著手寫一些函數(shù)計(jì)算數(shù)據(jù)了。
從Python爬蟲學(xué)循環(huán)函數(shù)
掌握了以上基本語法概念,我們就足以開始學(xué)習(xí)一些有趣的函數(shù)。我們以爬蟲中繞不開的遍歷url為例,講講大家最難理解的循環(huán)函數(shù)for的用法:
A.for函數(shù)
for函數(shù)是一個常見的循環(huán)函數(shù),先從簡單代碼理解for函數(shù)的用途:
因?yàn)閐ict的存儲不是按照list的方式順序排列,所以,迭代出的結(jié)果順序很可能不是每次都一樣。默認(rèn)情況下,dict迭代的是key。如果要迭代value,可以用for value in d.values(),如果要同時#迭代key和value,可以用for k, v in d.items()
可以看到,字典里的人名被一一打印出來了。for 函數(shù)的作用就是用于遍歷數(shù)據(jù)。掌握for函數(shù),可以說是真正入門了Python函數(shù)。
B.爬蟲和循環(huán)
for函數(shù)在書寫Python爬蟲中經(jīng)常被應(yīng)用,因?yàn)榕老x經(jīng)常需要遍歷每一個網(wǎng)頁,以獲取信息,所以構(gòu)建完整而正確的網(wǎng)頁鏈接十分關(guān)鍵。以某票房數(shù)據(jù)網(wǎng)為例,他的網(wǎng)站信息長這樣:
該網(wǎng)站的周票房json數(shù)據(jù)地址可以通過抓包工具找到,網(wǎng)址為http://www.cbooo.cn/BoxOffice/getWeekInfoData?sdate=20190114
仔細(xì)觀察,該網(wǎng)站不同日期的票房數(shù)據(jù)網(wǎng)址(url)只有后面的日期在變化,訪問不同的網(wǎng)址(url)就可以看到不同日期下的票房數(shù)據(jù):
我們要做的是,遍歷每一個日期下的網(wǎng)址,用Python代碼把數(shù)據(jù)爬下來。此時for函數(shù)就派上用場了,使用它我們可以快速生成多個符合條件的網(wǎng)址:
為了方便理解,我給大家畫了一個for函數(shù)的遍歷過程示意圖:
3.Python怎么實(shí)現(xiàn)數(shù)據(jù)分析?
A.Python分析
在做好數(shù)據(jù)采集和導(dǎo)入后,選擇字段進(jìn)行初步分析可以說是數(shù)據(jù)分析的必經(jīng)之路。在Dataframe數(shù)據(jù)格式的幫助下,這個步驟變得很簡單。
比如當(dāng)我們想看單周票房第一的排名分別都是哪些電影時,可以使用pandas工具庫中常用的方法,篩選出周票房為第一名的所有數(shù)據(jù),并保留相同電影中周票房最高的數(shù)據(jù)進(jìn)行分析整理:
9行代碼,我們完成了Excel里的透視表、拖動、排序等鼠標(biāo)點(diǎn)擊動作。最后再用Python中的可視化包matplotlib,快速出圖:
B.函數(shù)化分析
以上是一個簡單的統(tǒng)計(jì)分析過程。接下來就講講Excel基礎(chǔ)功能不能做的事——自定義函數(shù)提效。觀察數(shù)據(jù)可以發(fā)現(xiàn),數(shù)據(jù)中記錄了周票房和總票房的排名,那么剛剛計(jì)算了周票房排名的代碼,還能不能復(fù)用做一張總票房分析呢?
當(dāng)然可以,只要使用def函數(shù)和剛剛寫好的代碼建立自定義函數(shù),并說明函數(shù)規(guī)則即可:
學(xué)會函數(shù)的構(gòu)建,一個數(shù)據(jù)分析師才算真正能夠告別Excel的鼠標(biāo)點(diǎn)擊模式,邁入高效分析的領(lǐng)域。
總結(jié)
以上是生活随笔為你收集整理的dataframe类型数据的遍历_Python零基础入门到爬虫再到数据分析,这些你都是要学会的...的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 抽象类-(抽象类的样子)
- 下一篇: Nginx面试题及答案