np.where
import numpy as np
y = np.array([1,2,3,4])
r = y%2 == 0
#[False,True,False,True]
np.where(r) #把True 的索引取出[1,3]
np.nonzero(r)
#以上均返回元组
np.take
#取出索引为1,3,5的数
y[[1,3,5]]
np.take(y,[1,3,5])
np.cumsum
y = [1,2,3,4]
np.cumsum(y)
#依次向前求和
#[1,3,6,10]
np.transpose
转置,对一维数组无效果
np.maximum
比较两个数组对应的元素,取较大者,返回1dim array
a = np.array([1,4,6,0])
b = np.array([2,3,5,9])
np.maximum(a,b)
#[2,4,6,9]
np.inf赋值的问题
reach_dist = np.zeros(100,dtype=int)
reach_dist[:] = np.inf
解决 去掉dtype 类型指定/ dtype=“np.float16”
np.inf 需指定浮点数类型