有没有一种方法可以避免使用for循环,而仅仅通过调用arr和一些索引来获得结果?dim1可能等于50000,dim2可能等于1000,dim3可能固定为3。你知道吗
import numpy as np
dim1 = 10
dim2 = 2
dim3 = 3
arr = np.arange(60).reshape(dim1,dim2,dim3)
arr2 = np.arange(dim1*dim2).reshape(dim1,dim2)
np.mod(arr2,dim3,out=arr2)
res = []
rng = np.arange(dim1)
for x in range(dim2):
sl = arr2[:,x]
temp = arr[rng,x,sl]
res.append(temp)
res = np.asarray(res).T
基本上,我想从arr中提取值,arr是一个3D数组,但是矩阵arr2指示要选择哪些列。你知道吗
最好的
目前没有回答
相关问题 更多 >
编程相关推荐