![](/img/trans.png)
[英]Is there a numpy way to filter an array of arrays by a list of indices
[英]Extend numpy array in a way compatible with builtin arrays
我正在尝试编写不依赖于用户使用np.array
还是内置数组的代码。 我试图避免检查对象类型等。我唯一的问题是扩展数组。 例如,如果我有两个Python数组a
和b
,以将第一个数组扩展到第二个数组,则可以执行a = a + b
或a.extend(b)
。 另一方面,如果a
是一个numpy数组,则需要使用np.append
或其他方法。
有没有一种快速的方法可以独立于np
数组还是Python数组扩展数组?
即使您的函数在输入上具有灵活性,您的输出也应为特定类型。 所以我只是将其转换为所需的输出类型。
例如,如果我的函数正在使用numpy.array
并返回numpy.array
,但我也想允许输入list
,那么我要做的第一件事就是将list
转换为numpy.array
。
像这样:
def my_func(a, b):
a = np.asarray(a)
b = np.asarray(b)
# do my stuff here
NumPy的append()也适用于列表!
>>> np.append([1,2,3], [1,2,3])
array([1, 2, 3, 1, 2, 3])
如果要自动使结果与输入类型相同,请尝试以下操作:
mytype = type(a)
arr = np.append(a, b)
result = mytype(arr)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.