Pandas Series

建立

  • 經過列表建立
si = pd.Series([1, 2, 3, 4])
  • 經過 np.arange() 建立
si = pd.Series(np.arange(8))
  • 經過對象建立
si = pd.Series({'a': 1, 'b': 2, 'c': 3})

屬性

  • 查看Series的values
si.values  # array([1, 2, 3])
  • 查看Series的index
si.index  # Index(['1', '2', '3'], dtype='object')

方法

獲取元素

si = pd.Series([1, 2, 3], index=['A', 'B', 'C'])
si['A']  # 1
si[0]  # 1

對值過濾

si = pd.Series([1, 2, 3], index=['A', 'B', 'C'])
si[si > 1]
# B 2
# C 3

重置編號

Series默認編號爲int類型的數字,咱們能夠重置Series的編號python

  • 在建立時重置
si = pd.Series([1, 2, 3], index=['A', 'B', 'C'])
# A    1
# B    2
# C    3
  • 經過 reindex() 方法重置

reindex() 方法接收一個新的 index 列表,用於替換原來的 index ,若是新的 index 包含原來的 index 沒有的元素則新增的index元素默認填充爲 NaN ,能夠經過指定參數 fill_value 改變默認的值。code

si = pd.Series([1, 2, 3])
si.reindex(index=['A', 'B', 'C', 'D', 'E'])
# A    NaN
# B    NaN
# C    NaN
# D    NaN
# E    NaN
# dtype: float64
s1 = pd.Series([1, 2, 3])
s1.reindex(index=['A', 2, 'C', 'D', 'E'], fill_value=0)
# A    0
# B    3
# C    0
# D    0
# E    0
# dtype: int64

內插或填充 method對象

obj1=pd.Series(range(3), index=['a', 'c', 'e'])
print(obj1.reindex(['a', 'b', 'c', 'd', 'e'], method='pad'))
# a    0
# b    0
# c    1
# d    1
# e    2
# dtype: int64

ffillpad: 前向(或進位)填充
bfillbackfill : 後向(或進位)填充class

轉換爲字典

Series能夠經過 to_dict() 轉換爲一個Python字典:object

si = pd.Series([1, 2, 3], index=['A', 'B', 'C'])
si.to_dict()

NaN

判斷NaN

判斷NaN,Series判斷NaN有兩個方法 isna()notna()float

  • isna() 會對Series的每一個元素的值進行判斷,若是是NaN則爲 True,不然爲False
  • notna()會對Series的每一個元素的值進行判斷,若是是NaN則爲 False,不然爲True
si = pd.Series([1, 2, 3, np.nan], index=['A', 'B', 'C', 'D'])
si.isna()
# A    False
# B    False
# C    False
# D     True
# dtype: bool

刪除NaN

si.dropna()

填充NaN項

si.fillna(value)
相關文章
相關標籤/搜索