pandas Series 比 numpy array 要強大很多,體現在很多方面
首先, pandas Series 有一些方法,比如:
describe 方法可以給出 Series 的一些分析數據:
import pandas as pd s = pd.Series([1,2,3,4]) d = s.describe()
print(d)
count 4.000000 mean 2.500000 std 1.290994 min 1.000000 25% 1.750000 50% 2.500000 75% 3.250000 max 4.000000 dtype: float64
其次, pandas Series 和 numpy array 最大的區別是, pandas Series有'索引'這一概念:
創建 pandas Series的時候,可以包含一個作為索引值的數組:
life = pd.Series([74.7, 75., 80., 72.8], index=['city1', 'city2', 'city3', 'city4'])
print(life)
其中 ['city1', 'city2', 'city3', 'city4']數組就是索引數組,會被作為 life Series 的索引值:
city1 74.7 city2 75.0 city3 80.0 city4 72.8 dtype: float64
pandas Series 像是 list 與 dict 的結合, list 是有序的,按照位置0,1,2,3...來獲取對應位置的元素, dict 是無序的,通過 key 來獲取對應的元素, pandas Series 既有序,又有索引 key , 可以通過 key 來獲取元素:
print(life['city1']) # 結果 74.7
也可以通過位置索引來獲取元素:
print(life[0]) # 結果 74.7
為了更好的區分位置索引和 key 索引, pandas Series 提供了兩個方法:
print(life.loc['city1']) print(life.iloc[0])
loc 傳入 key 索引值, iloc 傳入位置索引值.
