Python數(shù)據(jù)分析?Pandas?Series對(duì)象操作
一、Pandas Series對(duì)象
Pandas 是基于 NumPy 設(shè)計(jì)實(shí)現(xiàn)的 Python 數(shù)據(jù)分析庫(kù),Pandas 提供了大量的能讓我們高效處理數(shù)據(jù)的函數(shù)和方法,也納入了很多數(shù)據(jù)處理的庫(kù)以及一些數(shù)據(jù)模型,可以說(shuō)非常強(qiáng)大。
可以使用以下命令進(jìn)行安裝:
conda install pandas # 或 pip install pandas
Series數(shù)據(jù)結(jié)構(gòu)
Pandas 最常用的數(shù)據(jù)結(jié)構(gòu)主要有兩種:Series 和 DataFrame,這篇文章主要介紹一下Series及如何創(chuàng)建Series對(duì)象。
Series 是一維數(shù)組,由一列索引index和一列值values組成,索引和值是一一對(duì)應(yīng)的,可以存儲(chǔ)不同種類的數(shù)據(jù)類型,字符串、布爾值、數(shù)字、Python對(duì)象等都可以。
創(chuàng)建Series對(duì)象
創(chuàng)建Series對(duì)象的格式如下:
s = pd.Series(data, index)
參數(shù)data為數(shù)據(jù),可以是字典、列表、Numpy的 ndarray 數(shù)組等;
參數(shù)index為索引,值必須唯一,類似于Python字典的鍵,可以不傳,默認(rèn)為從0開(kāi)始遞增的整數(shù)。
從列表創(chuàng)建:
data = ["a", "b", "c", "d", "e"] s = pd.Series(data) s
從字典創(chuàng)建:
當(dāng)data為字典時(shí),如果沒(méi)有傳入索引的話,會(huì)按照字典的鍵來(lái)構(gòu)造索引,索引對(duì)應(yīng)的值就是字典的鍵對(duì)應(yīng)的值。
data = {"a": 1, "b": 2, "c": 3} s = pd.Series(data) s
結(jié)果輸出如下:
a 1
b 2
c 3
dtype: int64
從 ndarray 數(shù)組創(chuàng)建:
ndarray 為Numpy 的數(shù)組類型,在Python數(shù)據(jù)分析 Numpy 的使用方法的文章已經(jīng)介紹過(guò)。
data = np.array([1, 2, 3, 4]) s = pd.Series(data) s
我們可以通過(guò)創(chuàng)建的Series對(duì)象,調(diào)用相應(yīng)的屬性和方法來(lái)進(jìn)行數(shù)據(jù)的處理分析等。下面繼續(xù)來(lái)看Series對(duì)象的基本操作
二、Series對(duì)象的基本操作
Series 常用屬性
- index:獲取索引
- values:獲取數(shù)組
- size:獲取元素?cái)?shù)量
- dtype:獲取對(duì)象的數(shù)據(jù)類型
獲取索引及修改索引:
data = ["a", "b", "c", "d"] s = pd.Series(data) print(s.index) s.index = ["A", "B", "C", "D"] print(s.index)
結(jié)果輸出如下:
RangeIndex(start=0, stop=4, step=1) Index(['A', 'B', 'C', 'D'], dtype='object')
指定索引對(duì)應(yīng)元素的獲取、修改及刪除:
Series 通過(guò)索引獲取、修改及刪除對(duì)應(yīng)元素和Python字典的操作有些類似,具體使用方法如下:
# 獲取數(shù)據(jù) print(s["A"]) # 修改數(shù)據(jù) s['A'] = 99 # 刪除數(shù)據(jù) s = s.drop("B") s
另外,Series 也支持通過(guò)篩選條件獲取數(shù)據(jù),例如獲取能被2整除的數(shù)據(jù):
data = np.array([1, 2, 3, 4]) s = pd.Series(data) s[s%2==0]
Series 切片:
Series 切片操作同Python列表的切面也是類似的,如下:
s[0:3]
表示取第0、1、2個(gè)數(shù)據(jù)。
也可以使用索引值來(lái)進(jìn)行切片,例如獲取索引值B-D的值:
s["B":"D"] 復(fù)制代碼
Series 常用方法
- head(n):返回前n行數(shù)據(jù),默認(rèn)前5行
- tail(n):返回后n行數(shù)據(jù),默認(rèn)后5行
- isnull()&nonull():判斷是否為空,返回True和False
- sort_values():排序,通過(guò)傳遞ascending參數(shù)來(lái)確定升序or降序,默認(rèn)為True,表示升序
- dropna():刪除空值
Series 運(yùn)算
統(tǒng)計(jì)信息:
可以通過(guò)describe()
方法獲取統(tǒng)計(jì)信息,如下:
也可以通過(guò)如下方法分別獲?。?/strong>
- min():獲取最小值
- max():獲取最大值
- mean():獲取均值
- median():獲取中位數(shù)
- sum():獲取總和
- count():獲取總數(shù)
- ······
四則運(yùn)算:
s+2 # 對(duì)每個(gè)元素進(jìn)行+2 s*100 # 對(duì)每個(gè)元素乘100
也可以調(diào)用如下方法進(jìn)行:加法add()
、減法sub()
、乘法mul()
、除法div()
。
到此這篇關(guān)于Python數(shù)據(jù)分析之 Pandas Series對(duì)象的文章就介紹到這了,更多相關(guān)Pandas Series對(duì)象內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
基于樹(shù)莓派的語(yǔ)音對(duì)話機(jī)器人
這篇文章主要為大家詳細(xì)介紹了基于樹(shù)莓派的語(yǔ)音對(duì)話機(jī)器人,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2019-06-06- 在實(shí)驗(yàn)中需要自己構(gòu)造單獨(dú)的HTTP數(shù)據(jù)報(bào)文,而使用SOCK_STREAM進(jìn)行發(fā)送數(shù)據(jù)包,需要進(jìn)行完整的TCP交互。因此想使用原始套接字進(jìn)行編程,直接構(gòu)造數(shù)據(jù)包,并在IP層進(jìn)行發(fā)送,即采用SOCK_RAW進(jìn)行數(shù)據(jù)發(fā)送。使用SOCK_RAW的優(yōu)勢(shì)是,可以對(duì)數(shù)據(jù)包進(jìn)行完整的修改,可以處理IP層上的所有數(shù)據(jù)包,對(duì)各字段進(jìn)行修改,而不受UDP和TCP的限制。2014-02-02
用Python代碼來(lái)繪制彭羅斯點(diǎn)陣的教程
這篇文章主要介紹了用Python代碼來(lái)繪制彭羅斯點(diǎn)陣的教程,核心代碼主要就是一行簡(jiǎn)單的lambda匿名函數(shù),需要的朋友可以參考下2015-04-04python網(wǎng)絡(luò)編程學(xué)習(xí)筆記(一)
這篇文章主要介紹了python網(wǎng)絡(luò)編程基礎(chǔ)知識(shí),需要的朋友可以參考下2014-06-06python利用插值法對(duì)折線進(jìn)行平滑曲線處理
這篇文章主要為大家詳細(xì)介紹了python利用插值法對(duì)折線進(jìn)行平滑曲線處理,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2018-12-12