国产一级a片免费看高清,亚洲熟女中文字幕在线视频,黄三级高清在线播放,免费黄色视频在线看

打開APP
userphoto
未登錄

開通VIP,暢享免費(fèi)電子書等14項(xiàng)超值服

開通VIP
Python數(shù)據(jù)分析筆記——Numpy、Pandas庫

Python數(shù)據(jù)分析——Numpy、Pandas庫

總第48篇



利用Python進(jìn)行數(shù)據(jù)分析中有兩個(gè)重要的庫是Numpy和Pandas,本章將圍繞這兩個(gè)庫進(jìn)行展開介紹。


Numpy庫



Numpy最重要的一個(gè)特點(diǎn)是就是其N維數(shù)組對(duì)象,即ndarray,ndarray是一個(gè)通用的同構(gòu)數(shù)據(jù)多維容器,其中的所有元素必須是相同類型的。每個(gè)數(shù)組都有一個(gè)shape(一個(gè)表示各維度大小的元組,即表示有幾行幾列)和dtype(一個(gè)用于說明數(shù)組數(shù)據(jù)類型的對(duì)象)。本節(jié)將圍繞ndarray數(shù)組展開。



 

Numpy基礎(chǔ)


1、創(chuàng)建ndarray數(shù)組


使用array函數(shù),它接受一切序列型的對(duì)象,包括其他數(shù)組,然后產(chǎn)生一個(gè)新的Numpy數(shù)組。



嵌套序列將會(huì)被轉(zhuǎn)換成一個(gè)多維數(shù)組。



np.array會(huì)嘗試為每一個(gè)新建的數(shù)組推斷出適合它的數(shù)據(jù)類型。

arange是Python內(nèi)置函數(shù)range的數(shù)組版。



2、數(shù)據(jù)類型


dtype是一個(gè)用來說明數(shù)組的數(shù)據(jù)類型的對(duì)象。其命名方式是一個(gè)類型名(float和int)后面跟一個(gè)用于表示各元素位長的數(shù)字。常用的是float64和int32.



也可以使用astype進(jìn)行數(shù)組中數(shù)據(jù)類型的轉(zhuǎn)化。



3、基本的索引和切片


(1)元素索引、根據(jù)元素在數(shù)組中的位置來進(jìn)行索引。


一維數(shù)組的索引



多維數(shù)組的索引



(2)切片索引


一維數(shù)組的切片索引(與Python列表的切片索引一樣



多維數(shù)組的切片索引



(3)花式索引


元素索引和切片索引都是僅局限于連續(xù)區(qū)域的值,而花式索引可以選取特定區(qū)域的值。



上述語句選出的是元素(1,0)、(5,3)、(7,1)、(2,2)。



上述語句按0、3、1、2列的順序依次顯示1、5、7、2行。下述語句能實(shí)現(xiàn)同樣的效果。



 

Numpy數(shù)組的基本運(yùn)算


1、數(shù)組和標(biāo)量之間的預(yù)算



2、元素級(jí)數(shù)組函數(shù)


是指對(duì)數(shù)組中每個(gè)元素執(zhí)行函數(shù)運(yùn)算。下面例子是對(duì)數(shù)組各元素執(zhí)行平方根操作。還有abs、exp、sin、cos、log、sum、mean(算術(shù)平均數(shù))、cumsum(所有元素的累計(jì)和)、cumprod(所有元素的累計(jì)積)、sort(將元素進(jìn)行排序)等函數(shù)。



Pandas庫



 

Pandas數(shù)據(jù)結(jié)構(gòu)


1、Series


(1)概念:


Series是一種類似于一維數(shù)組的對(duì)象,它由一組數(shù)據(jù)以及一組與之相關(guān)的數(shù)據(jù)標(biāo)簽(即索引)組成。


(2)創(chuàng)建Series


a、通過series來創(chuàng)建



Series的字符串表現(xiàn)形式為:索引在左邊,值在右邊。當(dāng)我們沒有為數(shù)據(jù)指定索引時(shí),Series會(huì)自動(dòng)創(chuàng)建一個(gè)0到N-1(N為數(shù)據(jù)的長度)的整數(shù)型索引。可以通過Series的values和index屬性獲取其數(shù)組的值和對(duì)應(yīng)的屬性。



也可以在創(chuàng)建Series的時(shí)候?yàn)橹抵苯觿?chuàng)建索引。



b、通過字典的形式來創(chuàng)建Series。



(3)獲取Series中的值


通過索引的方式選取Series中的單個(gè)或一組值。



  2、DataFrame


(1)概念:


DataFrame是一個(gè)表格型的數(shù)據(jù)結(jié)構(gòu),含有一組有序的列,每列可以是不同的值類型(數(shù)值、字符串、布爾值等)。DataFrame既有行索引也有列索引,其中的數(shù)據(jù)是以一個(gè)或多個(gè)二維塊存放的,而不是列表、字典或別的一維數(shù)據(jù)結(jié)構(gòu)。



(2)創(chuàng)建DataFrame:


最常用的一種方法是直接傳入一個(gè)等長列表或numpy數(shù)組組成的字典:



結(jié)果DataFrame會(huì)自動(dòng)加上索引(添加方法與Series一樣),且全部列會(huì)被有序排列。



如果指定了列序列、索引,則DataFrame的列會(huì)按指定順序及索引進(jìn)行排列。



也可以設(shè)置DataFrame的index和columns的name屬性,則這些信息也會(huì)被顯示出來。



(3)獲取DataFrame的值(行或列)


通過查找columns值獲取對(duì)應(yīng)的列。(下面兩種方法)



通過索引字段ix查找相應(yīng)的行。



(4)對(duì)列進(jìn)行賦值處理。


對(duì)某一列可以賦一個(gè)標(biāo)量值也可以是一組值。


也可以給某一列賦值一個(gè)列表或數(shù)組,其長度必須跟DataFrame長度相匹配。如果賦值的是一個(gè)Series,則對(duì)應(yīng)的索引位置將被賦值,其他位置的值被賦予空值。



 

Pandas基本功能


1、重新索引


Pandas對(duì)象的一個(gè)方法就是重新索引(reindex),其作用是創(chuàng)建一個(gè)新的索引,pandas對(duì)象將按這個(gè)新索引進(jìn)行排序。對(duì)于不存在的索引值,引入缺失值。



也可以按columns(行)進(jìn)行重新索引,對(duì)于不存在的列名稱,將被填充空值。



對(duì)于不存在的索引值帶來的缺失值,也可以在重新索引時(shí)使用fill_value給缺失值填充指定值。



對(duì)于缺失值除使用fill_value的方式填充特定值以外還可以使用method=ffill(向前填充、即后面的缺失值用前面非缺失值填充)、bfill(向后填充,即前面的缺失值用后面的非缺失值填充)。


2、丟棄指定軸上的項(xiàng)


使用drop方法刪除指定索引值對(duì)應(yīng)的對(duì)象。



可以同時(shí)刪除多個(gè)索引對(duì)應(yīng)的值。



對(duì)于DataFrame,可以刪除任意軸上(columns)的索引值。


3、算數(shù)運(yùn)算和數(shù)據(jù)對(duì)齊


(1)Series 與Series之間的運(yùn)算


將不同索引的對(duì)象進(jìn)行算數(shù)運(yùn)算,在將對(duì)象進(jìn)行相加時(shí),如果存在時(shí),則結(jié)果的索引就是該索引的并集,而結(jié)果的對(duì)象為空。



(2)DataFrame與Series之間的運(yùn)算


將DataFrame的每一行與Series分別進(jìn)行運(yùn)算。(索引相同的進(jìn)行算數(shù)運(yùn)算,索引不同的被賦予空值)



4、排序和排名


根據(jù)某種條件對(duì)數(shù)據(jù)集進(jìn)行排序。


(1)Series數(shù)據(jù)結(jié)構(gòu)的排序和排名


a、按索引值進(jìn)行排序



b、按值進(jìn)行排序



默認(rèn)情況下,排序是按升序排列的,但也可通過ascending=False進(jìn)行降序排列。



排名跟排序不同的是,排名會(huì)增設(shè)一個(gè)排名值。obj.rank()



(2)DataFrame數(shù)據(jù)結(jié)構(gòu)的排序和排名


按索引值進(jìn)行排列,一列或多列中的值進(jìn)行排序,通過by將列名傳遞給sort_index.



5、缺失數(shù)據(jù)處理


(1)濾出缺失數(shù)據(jù)


使用data.dropna()可以濾出缺失數(shù)據(jù),默認(rèn)情況下,data.dropna()濾出含有缺失值的所有行(是含有缺失數(shù)據(jù)的那一整行)。


傳入how=‘a(chǎn)ll’將只濾出全是缺失值的那一行。


要用這種方式濾出列,只需傳入axis=1即可。

 

(2)填充缺失數(shù)據(jù)


通過調(diào)用函數(shù)fillna,并給予這個(gè)函數(shù)一個(gè)值,則該數(shù)組中所有的缺失值都將被這個(gè)值填充。df.fillna(0)——缺失值都將被0填充。

 

也可以給fillna函數(shù)一個(gè)字典,就可以實(shí)現(xiàn)對(duì)不同的列填充不同的值。


Df.fillna({1:0.5,3:-1})——1列的缺失值用0.5填充,3列的缺失值用-1填充。(列從0開始計(jì)數(shù))



6、匯總和計(jì)算描述統(tǒng)計(jì)


就是針對(duì)數(shù)組進(jìn)行常用的數(shù)學(xué)和統(tǒng)計(jì)運(yùn)算。大部分都屬于約簡(jiǎn)和匯總統(tǒng)計(jì)。

其中有求和(sum)運(yùn)算、累計(jì)(cumsum)運(yùn)算、平均值(mean)等運(yùn)算。這些運(yùn)算默認(rèn)都是針對(duì)于行的運(yùn)算,通過使用axis=1進(jìn)行列的運(yùn)算。

 

Describe既不是約簡(jiǎn)型也不是累計(jì)型,他是用于一次性產(chǎn)生多個(gè)匯總統(tǒng)計(jì)指標(biāo)的運(yùn)算。根據(jù)數(shù)組中數(shù)據(jù)的類型不同,產(chǎn)生的統(tǒng)計(jì)指標(biāo)不同,有最值、分位數(shù)(四分位、四分之三)、標(biāo)準(zhǔn)差、方差等指標(biāo)。



7、唯一值的獲取



此方法可以用于顯示去重后的數(shù)據(jù)。


8、值計(jì)數(shù)


用于計(jì)算一個(gè)Series中各值出現(xiàn)的次數(shù)。 



9、層次化索引


層次化索引是pandas的一個(gè)重要功能,它的作用是使你在一個(gè)軸上擁有兩個(gè)或多個(gè)索引級(jí)別。相當(dāng)于Excel中vlookup函數(shù)的多條件查找中的多條件。 



對(duì)于層次化索引對(duì)象,選取數(shù)據(jù)的方式可以通過內(nèi)層索引,也可以通過外層索引來選取,選取方式和單層索引選取的方式一致。 



本站僅提供存儲(chǔ)服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊舉報(bào)
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
Python 數(shù)據(jù)分析(一) 本實(shí)驗(yàn)將學(xué)習(xí) pandas 基礎(chǔ),數(shù)據(jù)加載、存儲(chǔ)與文件格式,數(shù)據(jù)規(guī)整化,繪圖和可視化的知識(shí)
Python pandas用法
數(shù)據(jù)分析三劍客之pandas
用一個(gè)月整理的Pandas的教程!最全面的教程沒有之一!先收藏吧!
python數(shù)據(jù)科學(xué)系列:pandas入門詳細(xì)教程
2. pandas入門
更多類似文章 >>
生活服務(wù)
分享 收藏 導(dǎo)長圖 關(guān)注 下載文章
綁定賬號(hào)成功
后續(xù)可登錄賬號(hào)暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服