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