【发布时间】:2020-06-18 10:21:06
【问题描述】:
我有一个函数,它接受一个数组作为输入并对其进行一些计算。输入数组可能是也可能不是 numpy ndarray(可能是列表、pandas 对象等)。
在函数中,我将输入数组(无论其类型如何)转换为 numpy ndarray。但是对于大型数组,此步骤的计算成本可能很高,尤其是在 for 循环中多次调用该函数时。
因此,只有当它还不是 numpy ndarray 时,我才想将输入数组转换为 numpy ndarray。
我该怎么做?
import numpy as np
def myfunc(array):
# Check if array is not already numpy ndarray
# Not correct way, this is where I need help
if type(array) != 'numpy.ndarray':
array = np.array(array)
# The computation on array
# Do something with array
new_array = other_func(array)
return new_array
【问题讨论】:
标签: python arrays performance numpy types