Numpy--向量化运算

1.numpy array与python list

相同点:

*可以通过索引获取元素。

*遍历  for x in a:

不同点:

*numpy数组中各元素都属于同一类型。

*numpy拥有很多可以使用的函数,如mean() ,std()。

*numpy数组可以是多维的。

2.运算

a = np.array([1, 2, 3, 4])
b = np.array([1, 2, 3, 4])

两个numpy数组的运算

print a + b  #[2 4 6 8]
print a - b  #[0 0 0 0]
print a * b  #[ 1 4 9 16]
print a / b  #[1 1 1 1]
print a ** b #[1 4 27 256]

乘以标量

a*3  #array([ 3,  6,  9, 12])

逻辑运算 

c= np.array([True, True, False, False])
d= np.array([True, False, True, False])

print c & d #[ True False False False]
print c | d #[ True  True  True False]
print ~c    #[False False  True  True]
print c & True  #[ True  True False False]
print d & False  #[False False False False]

 比较操作

e = 2
print a != e    
print a > e
print a >= e
print a < e
print a <= e
print a == e


[ True False  True  True]
[False False  True  True]
[False  True  True  True]
[ True False False False]
[ True  True False False]
[False  True False False]

索引数组

f= np.array([1, 2, 3, 4])
g=np.array([True,True,False,False])

f[g] #array([1, 2])
f[f<3] #array([1, 2])
f[g==True] #array([1, 2])

+ 和+=

#+=改变原有数组h
h= np.array([1, 2, 3, 4])
i = h
h+=h
print i # [2 4 6 8]


#+ 创建新数组,不改变h
h= np.array([1, 2, 3, 4])
i = h
h=h+np.array([1, 2, 3, 4])
print i #[1 2 3 4]

猜你喜欢

转载自blog.csdn.net/weixin_38287297/article/details/81430733