利用Python進(jìn)行數(shù)據(jù)分析之初識Pandas
Pandas是構(gòu)建在Python編程語言之上的一個(gè)快速、強(qiáng)大、靈活且易于使用的開源數(shù)據(jù)分析和操作工具。Pandas是基于Numpy的專業(yè)數(shù)據(jù)分析工具,可以靈活高效的處理各種數(shù)據(jù)集。
在Pandas中有這樣兩種數(shù)據(jù)結(jié)構(gòu):DataFrame、Series,DataFrame就類似Excel里面的Sheet表,而Series就相當(dāng)于表中的某一列。
安裝
在這里我們使用pip進(jìn)行安裝(如果沒有可自行查詢?nèi)绾伟惭bpip)安裝panda最簡單的方法是將其作為Anaconda的一部分安裝,Anaconda主要用于數(shù)據(jù)分析和科學(xué)計(jì)算。還提供源代碼、PyPI、ActivePython、各種Linux發(fā)行版或開發(fā)版本進(jìn)行安裝的說明。
當(dāng)然,最為基礎(chǔ)的Python環(huán)境還是少不了的,如果你是Linux或使用的Mac就不用安裝Python了。

pip install pandas
Pandas中的數(shù)據(jù)結(jié)構(gòu)
我們都知道在Excel中是有sheet表,在sheet中每個(gè)單元格都是有坐標(biāo)來表示的,例如:A1、F3等,想要哪些數(shù)據(jù)只需要定位都響應(yīng)數(shù)據(jù)都坐標(biāo)或某個(gè)范圍。這里有一點(diǎn)需要強(qiáng)調(diào),Pandas無論是和Exce相比還是和SQL相比,只是調(diào)用和處理數(shù)據(jù)的方式變了,核心都是對源數(shù)據(jù)進(jìn)行一系列的處理。

DataFrame
在Pandas中同樣數(shù)據(jù)表表示方式與Excel基本相同,只不過Excel中的"列",在Pandas中叫做"Series":

Series
Pandas初體驗(yàn)
如果想要構(gòu)建下面這個(gè)表格,在Excel中大家再熟悉不過了,在Pandas中該如何構(gòu)造呢?

Excel表格
要想使用Pandas,首先我們需要導(dǎo)入模塊(這里使用的ipython,可通過pip install ipython安裝)。

導(dǎo)入pandas
我們需要手動(dòng)將數(shù)據(jù)存儲在表中,就要?jiǎng)?chuàng)建一個(gè)DataFrame。當(dāng)使用Python列表和字典時(shí),字典鍵將作為列頭,而每個(gè)列表中的值將用作DataFrame的行。
df = pd.DataFrame({ "設(shè)備名稱": ['服務(wù)器', '服務(wù)器', '磁盤陣列', '網(wǎng)絡(luò)設(shè)備'], "設(shè)備品牌": ['華為', '浪潮', 'Sugon', 'H3C'], "用途": ['高性能計(jì)算', '高性能計(jì)算', '存儲', '接入交換機(jī)'], "價(jià)格": [80000, 50800, 150000, 8000]})

創(chuàng)建DataFrame
命令行直接輸入變量名稱"df"輸出DataFrame所有數(shù)據(jù):

輸出DataFrame
注:第一眼看上去,感覺好亂,有木有!有童鞋說:我想把"設(shè)備品牌"放到最前面(在做表的時(shí)候,一般都是第一列作為表頭出現(xiàn))。可不可以實(shí)現(xiàn)呢?當(dāng)然可以!只需要在創(chuàng)建時(shí)指定"index"就可以了。

指定index后,輸出DataFrame
DataFrame是一種二維數(shù)據(jù)結(jié)構(gòu),可以在列中存儲不同類型的數(shù)據(jù)(包括字符、整數(shù)、浮點(diǎn)數(shù)等)。它類似于Excel表格、SQL數(shù)據(jù)庫表或R語言中的data.frame。
我只想要"設(shè)備名稱"那一列,怎么拿到呢?

獲取單個(gè)Series
注:當(dāng)選擇DataFrame的單個(gè)列時(shí),結(jié)果就是一個(gè)Series。我們想要選擇哪一列,就在方括號[]之間使用列標(biāo)簽。
當(dāng)然,我們也可以創(chuàng)建一個(gè)Series:

創(chuàng)建Series
在上面設(shè)備信息表中,我想拿到表中價(jià)格最貴的,該如何操作?這里就要用到max()方法。

最大值
Pandas提供了很多功能,每個(gè)功能都有一個(gè)可以應(yīng)用到DataFrame或Series的方法(很多方法,后面我們還會(huì)用到很多)。因?yàn)榉椒ㄊ呛瘮?shù),所以不要忘記使用括號()喲。
以上內(nèi)容,簡單了解一下Pandas,Pandas功能十分強(qiáng)大,后面我們會(huì)由淺至深逐步了解Pandas的強(qiáng)大之處,如果對你有用,記得點(diǎn)贊+關(guān)注喲~