學習筆記之pandas的Series

pandas引入約定:

    import pandas as pd

    from pandas import Series

Series是一種類似於一維數組的對象,它由一組數據以及相對應的索引組成。

Series數據可由下面幾種方式生成(索引在左邊,值在右邊):

一、自動創建並生成索引,索引從0開始

In :

import pandas as pd
from pandas import Series
import numpy as np
obj = Series([1,2,3,4])
obj

Out:

0    1
1    2
2    3
3    4
dtype: int64

二,自定義索引 

In :

obj = Series([1,2,3,4],index = ['a', 'b', 'c', 'd'])
obj
Out:
a    1
b    2
c    3
d    4
dtype: int64

三、通過字典創建

    1.只傳入一個字典,索引即爲dict的key。
In:
sdata = {'a': 1, 'b': 2, 'c': 3, 'd': 4}
obj = Series(sdata)
obj
Out:
a    1
b    2
c    3
d    4
dtype: int64
    2.傳入自定義索引,與dict中的key相同項合併,不同項值爲NaN(類型自動轉換爲float)。NaN可用isnull()或notnull()檢測
In:
skey = ['a', 'b', 'c', 'd', 'e', 'f']
obj = Series(sdata, skey)
obj
Out:
a    1.0
b    2.0
c    3.0
d    4.0
e    NaN
f    NaN
dtype: float64

Series索引可根據賦值立即修改,索引個數要保持一致:

In:
obj.index = ['q', 'w', 'e', 'r', 't', 'y']
obj

 
×
Out:
q    1.0
w    2.0
e    3.0
r    4.0
t    NaN
y    NaN
dtype: float64

Series可通過索引獲取單個或一組值;可通過索引直接賦值:

In :

obj['a']
Out:
1
In :
obj['a'] = 5
Out:
obj


a    5
b    2
c    3
d    4
dtype: int64

Series數組運算(如根據布爾型數組進行過濾、標量乘法、應用數學函數等)也會保留索引和值之間的鏈接:

In :


obj[obj > 2]
Out:
a    5
c    3
d    4
dtype: int64 
In:
obj *2
Out:
a    10
b     4
c     6
d     8
dtype: int64
In :
 
np.exp(obj)
Out:
0     2.718282
1     7.389056
2    20.085537
3    54.598150
dtype: float64

Series重要功能:在算術運算中會自動對齊不同索引的數據:

In:
 
sdata = {'a': 1, 'b': 2}
obj1 = Series(sdata, index = ['a', 'b', 'c'])
obj1
Out:
a    1.0
b    2.0
c    NaN
dtype: float64
In:
 
sdata = {'b':2, 'c': 3, 'd':4}
obj2 = Series(sdata)
obj2
Out:
b    2
c    3
d    4
dtype: int64
In:
 
obj1 + obj2
Out:
a    NaN
b    4.0
c    NaN
d    NaN
dtype: float64


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章