爲了入門pandas,須要熟悉兩個經常使用的工具數據結構:Series
和DataFrame
。數組
今天主要講解Series。數據結構
Series
是可以保存任何類型的數據(整數,字符串,浮點數,Python對象等)的一維標記數組。軸標籤統稱爲索引
(index)。函數
最簡單的Series能夠僅僅由一個數組造成: obj = pd.Series([4,7,-5,3]) print(obj)工具
結果以下:code
索引在左邊,值在右邊。對象
因爲咱們不爲數據指定索引,因此默認生成的索引是從0到N-1。 能夠經過values屬性和index屬性分別得到Series對象的值和索引。blog
print(obj.values) print(obj.index)
對應結果以下:索引
一般須要建立一個索引序列,用標籤標識每一個數據點:字符串
obj2 = pd.Series([4, 7, -5, 3],index=['d','b','a','c']) print(obj2) print(obj2.index)
能夠在數據中選擇數據時使用標籤來進行索引:pandas
print(obj2['a']) print(obj2['d','c','a'])
也能夠使用布爾值數組進行過濾,例如:
print(obj2[obj2 > 0]) print(np.exp(obj2))
若是已經有數據包含在Python字典中,能夠使用字典生成一個Series:
sdata = {'Ohio':35000,'Texas':71000,'Oregon':16000,'Utah':5000} obj3 = pd.Series(sdata) print(obj3) states = ['California','Ohio','Oregon','Texas'] obj4 = pd.Series(sdata,index=states) print(obj4)
結果以下:
因爲‘California’沒有出如今sdata鍵中,它對應的值是NaN(Not a Number),這是pandas中標記缺失值或NA值的方式。
pandas用isnull和notnull函數來檢查缺失數據。
pd.isnull(obj4) pd.notnull(obj4) # 也能夠這樣表示 obj4.isnull() obj4.notnull()
Series對象自身和其索引都有name屬性:
obj4.name='population' obj4.index.name='state'
能夠經過按位置賦值的方式改變索引:
obj.index=['Bob','Steve','Jeff','Ryan'] print(obj)
結果以下: