Получение dtype результата выстраивает в numpy

я хочу предварительно выделить память для вывода операции над массивом, и я должен знать что 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 имеет функцию, которая делает это?

5
задан kiyo 2 September 2011 в 15:19
поделиться