创建
- 通过列表创建
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的编号
- 在创建时重置
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 改变默认的值。
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
ffill 或 pad: 前向(或进位)填充 bfill 或 backfill : 后向(或进位)填充
转换为字典
Series可以通过 to_dict() 转换为一个Python字典:
si = pd.Series([1, 2, 3], index=[\'A\', \'B\', \'C\'])
si.to_dict()
NaN
判断NaN
判断NaN,Series判断NaN有两个方法 isna() 和 notna() :
-
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)
版权声明
本文仅代表作者观点,不代表百度立场。
本文系作者授权百度百家发表,未经许可,不得转载。



