Я хочу предварительно выделить память для вывода операции массива, и мне нужно знать, какой тип dtype сделать.Ниже у меня есть функция, которая делает то, что я хочу, но ужасно уродлива.
import numpy as np
def array_operation(arr1, arr2):
out_shape = arr1.shape
# Get the dtype of the output, these lines are the ones I want to replace.
index1 = ([0],) * arr1.ndim
index2 = ([0],) * arr2.ndim
tmp_arr = arr1[index1] * arr2[index2]
out_dtype = tmp_arr.dtype
# All so I can do the following.
out_arr = np.empty(out_shape, out_dtype)
Выше довольно уродливо.Есть ли у numpy функция, которая это делает?