Python數(shù)據(jù)分析?Pandas?Series對象操作
一、Pandas Series對象
Pandas 是基于 NumPy 設(shè)計實現(xiàn)的 Python 數(shù)據(jù)分析庫,Pandas 提供了大量的能讓我們高效處理數(shù)據(jù)的函數(shù)和方法,也納入了很多數(shù)據(jù)處理的庫以及一些數(shù)據(jù)模型,可以說非常強大。
可以使用以下命令進行安裝:
conda install pandas # 或 pip install pandas
Series數(shù)據(jù)結(jié)構(gòu)
Pandas 最常用的數(shù)據(jù)結(jié)構(gòu)主要有兩種:Series 和 DataFrame,這篇文章主要介紹一下Series及如何創(chuàng)建Series對象。
Series 是一維數(shù)組,由一列索引index和一列值values組成,索引和值是一一對應(yīng)的,可以存儲不同種類的數(shù)據(jù)類型,字符串、布爾值、數(shù)字、Python對象等都可以。
創(chuàng)建Series對象
創(chuàng)建Series對象的格式如下:
s = pd.Series(data, index)
參數(shù)data為數(shù)據(jù),可以是字典、列表、Numpy的 ndarray 數(shù)組等;
參數(shù)index為索引,值必須唯一,類似于Python字典的鍵,可以不傳,默認為從0開始遞增的整數(shù)。
從列表創(chuàng)建:
data = ["a", "b", "c", "d", "e"] s = pd.Series(data) s
從字典創(chuàng)建:
當data為字典時,如果沒有傳入索引的話,會按照字典的鍵來構(gòu)造索引,索引對應(yīng)的值就是字典的鍵對應(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)介紹過。
data = np.array([1, 2, 3, 4]) s = pd.Series(data) s
我們可以通過創(chuàng)建的Series對象,調(diào)用相應(yīng)的屬性和方法來進行數(shù)據(jù)的處理分析等。下面繼續(xù)來看Series對象的基本操作
二、Series對象的基本操作
Series 常用屬性
- index:獲取索引
- values:獲取數(shù)組
- size:獲取元素數(shù)量
- dtype:獲取對象的數(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')
指定索引對應(yīng)元素的獲取、修改及刪除:
Series 通過索引獲取、修改及刪除對應(yīng)元素和Python字典的操作有些類似,具體使用方法如下:
# 獲取數(shù)據(jù) print(s["A"]) # 修改數(shù)據(jù) s['A'] = 99 # 刪除數(shù)據(jù) s = s.drop("B") s
另外,Series 也支持通過篩選條件獲取數(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個數(shù)據(jù)。
也可以使用索引值來進行切片,例如獲取索引值B-D的值:
s["B":"D"] 復(fù)制代碼
Series 常用方法
- head(n):返回前n行數(shù)據(jù),默認前5行
- tail(n):返回后n行數(shù)據(jù),默認后5行
- isnull()&nonull():判斷是否為空,返回True和False
- sort_values():排序,通過傳遞ascending參數(shù)來確定升序or降序,默認為True,表示升序
- dropna():刪除空值
Series 運算
統(tǒng)計信息:
可以通過describe()
方法獲取統(tǒng)計信息,如下:
也可以通過如下方法分別獲?。?/strong>
- min():獲取最小值
- max():獲取最大值
- mean():獲取均值
- median():獲取中位數(shù)
- sum():獲取總和
- count():獲取總數(shù)
- ······
四則運算:
s+2 # 對每個元素進行+2 s*100 # 對每個元素乘100
也可以調(diào)用如下方法進行:加法add()
、減法sub()
、乘法mul()
、除法div()
。
到此這篇關(guān)于Python數(shù)據(jù)分析之 Pandas Series對象的文章就介紹到這了,更多相關(guān)Pandas Series對象內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
python網(wǎng)絡(luò)編程學(xué)習(xí)筆記(一)
這篇文章主要介紹了python網(wǎng)絡(luò)編程基礎(chǔ)知識,需要的朋友可以參考下2014-06-06