Python數據分析 Pandas Series對象操作
一、Pandas Series對象
Pandas 是基於 NumPy 設計實現的 Python 數據分析庫,Pandas 提供瞭大量的能讓我們高效處理數據的函數和方法,也納入瞭很多數據處理的庫以及一些數據模型,可以說非常強大。
可以使用以下命令進行安裝:
conda install pandas # 或 pip install pandas
Series數據結構
Pandas 最常用的數據結構主要有兩種:Series 和 DataFrame,這篇文章主要介紹一下Series及如何創建Series對象。
Series 是一維數組,由一列索引index和一列值values組成,索引和值是一一對應的,可以存儲不同種類的數據類型,字符串、佈爾值、數字、Python對象等都可以。
創建Series對象
創建Series對象的格式如下:
s = pd.Series(data, index)
參數data為數據,可以是字典、列表、Numpy的 ndarray 數組等;
參數index為索引,值必須唯一,類似於Python字典的鍵,可以不傳,默認為從0開始遞增的整數。
從列表創建:
data = ["a", "b", "c", "d", "e"] s = pd.Series(data) s
從字典創建:
當data為字典時,如果沒有傳入索引的話,會按照字典的鍵來構造索引,索引對應的值就是字典的鍵對應的值。
data = {"a": 1, "b": 2, "c": 3} s = pd.Series(data) s
結果輸出如下:
a 1
b 2
c 3
dtype: int64
從 ndarray 數組創建:
ndarray 為Numpy 的數組類型,在Python數據分析 Numpy 的使用方法的文章已經介紹過。
data = np.array([1, 2, 3, 4]) s = pd.Series(data) s
我們可以通過創建的Series對象,調用相應的屬性和方法來進行數據的處理分析等。下面繼續來看Series對象的基本操作
二、Series對象的基本操作
Series 常用屬性
- index:獲取索引
- values:獲取數組
- size:獲取元素數量
- dtype:獲取對象的數據類型
獲取索引及修改索引:
data = ["a", "b", "c", "d"] s = pd.Series(data) print(s.index) s.index = ["A", "B", "C", "D"] print(s.index)
結果輸出如下:
RangeIndex(start=0, stop=4, step=1) Index(['A', 'B', 'C', 'D'], dtype='object')
指定索引對應元素的獲取、修改及刪除:
Series 通過索引獲取、修改及刪除對應元素和Python字典的操作有些類似,具體使用方法如下:
# 獲取數據 print(s["A"]) # 修改數據 s['A'] = 99 # 刪除數據 s = s.drop("B") s
另外,Series 也支持通過篩選條件獲取數據,例如獲取能被2整除的數據:
data = np.array([1, 2, 3, 4]) s = pd.Series(data) s[s%2==0]
Series 切片:
Series 切片操作同Python列表的切面也是類似的,如下:
s[0:3]
表示取第0、1、2個數據。
也可以使用索引值來進行切片,例如獲取索引值B-D的值:
s["B":"D"] 復制代碼
Series 常用方法
- head(n):返回前n行數據,默認前5行
- tail(n):返回後n行數據,默認後5行
- isnull()&nonull():判斷是否為空,返回True和False
- sort_values():排序,通過傳遞ascending參數來確定升序or降序,默認為True,表示升序
- dropna():刪除空值
Series 運算
統計信息:
可以通過describe()
方法獲取統計信息,如下:
也可以通過如下方法分別獲取:
- min():獲取最小值
- max():獲取最大值
- mean():獲取均值
- median():獲取中位數
- sum():獲取總和
- count():獲取總數
- ······
四則運算:
s+2 # 對每個元素進行+2 s*100 # 對每個元素乘100
也可以調用如下方法進行:加法add()
、減法sub()
、乘法mul()
、除法div()
。
到此這篇關於Python數據分析之 Pandas Series對象的文章就介紹到這瞭,更多相關Pandas Series對象內容請搜索WalkonNet以前的文章或繼續瀏覽下面的相關文章希望大傢以後多多支持WalkonNet!
推薦閱讀:
- Pandas中Series的屬性,方法,常用操作使用案例
- pandas的Series類型與基本操作詳解
- python-pandas創建Series數據類型的操作
- Python Pandas學習之Pandas數據結構詳解
- python數學建模之Numpy 應用介紹與Pandas學習