蓝绝

博客园 首页 新随笔 联系 订阅 管理

4) Series的运算

(1)适用于numpy的数组运算也适用于Series

(2) Series之间的运算.
         在运算中自动对齐不同索引的数据.
         如果索引不对应,则补NaN

注意:要想保留所有的index,则需要使用   (意思是没有相同的显示索引时,前面数有值,后面数无值导致无法计算输出NaN,如果想把空值变为0,让没有的索引也能正常相加,则需要用下面的函数) 

             add()加                               #s1.add (s2, fill_value=0)

             sub() 减

             mul() 乘

             div()除

# Series和Series之间运算时,显示索引对齐
s1 = Series (data=np. random. randint (0, 10, size=5), index=list ("abcde")) 
s2 = Series (data=np. random. randint (0, 10, size=4), index=list ("bede")) 
display(s1, s2)
a    2
b    1
c    3
d    9
e    6
dtype: int32
b    6
e    2
d    3
e    1
dtype: int32
#没找对对应的索引时候,显示NaN  空值
s1+s2
a     NaN
b     7.0
c     NaN
d    12.0
e     8.0
e     7.0
dtype: float64
#1. Series和一个数运算,遵守广播机制
# Series和numpy运算, 隐式索引对齐
# Series和numpy运算,必须维度和长度要一致,否则无法运算

#这是个numpy,它和n运算是numpy和numpy的运算,所以遵守广播机制
s1. values          #Series的values是numpy格式遵守广播机制

 

注意:要想保留所有的index,则需要使用(意思是没有相同的显示索引时,前面数有值,后面数无值导致无法计算输出NaN,如果想把空值变为0,让没有的索引也能正常相加,则需要用下面的函数)

s1.add (s2, fill_value=0)
a     2.0
b     7.0
c     3.0
d    12.0
e     8.0
e     7.0
dtype: float64

 

posted on 2022-11-14 22:42  蓝绝  阅读(108)  评论(0编辑  收藏  举报