gpt4 book ai didi

python - 有 Numpy asanyarray 与 asarray 的例子吗?

转载 作者:行者123 更新时间:2023-11-30 08:28:30 24 4
gpt4 key购买 nike

我正在寻找一些示例来显示 numpy.asanyarray() 之间的差异和 numpy.asarray() ?在什么情况下我应该专门使用asanyarray()?

最佳答案

asanyarray 的代码:

return array(a, dtype, copy=False, order=order, subok=True)

对于asarray:

return array(a, dtype, copy=False, order=order)

唯一的区别在于指定 subok 参数。如果您正在使用 ndarray 的子类,您可能需要使用它。如果您不知道这意味着什么,那可能并不重要。

np.array 的默认值是:

array(object, dtype=None, copy=True, order='K', subok=False, ndmin=0)

如果您正在微调一个应该适用于各种 numpy 数组(以及可以制成数组的列表)的函数,并且不应该进行不必要的复制,您可以使用这些函数之一。否则,无论有没有额外的参数,np.array 都可以正常工作。作为初学者,不要花太多精力去理解这些差异。

===

expand_dims 同时使用:

if isinstance(a, matrix):
a = asarray(a)
else:
a = asanyarray(a)

np.matrix 子类数组只能有 2 维,但 expand_dims 必须改变这一点,因此使用 asarray 来转换输入转换为常规的 ndarray 。否则它使用asanyarray。这样,像 maskedArray 这样的子类仍然是该类。

In [158]: np.expand_dims(np.eye(2),1)                                           
Out[158]:
array([[[1., 0.]],

[[0., 1.]]])
In [159]: np.expand_dims(np.matrix(np.eye(2)),1)
Out[159]:
array([[[1., 0.]],

[[0., 1.]]])
In [160]: np.expand_dims(np.ma.masked_array(np.eye(2)),1)
Out[160]:
masked_array(
data=[[[1., 0.]],

[[0., 1.]]],
mask=False,
fill_value=1e+20)

关于python - 有 Numpy asanyarray 与 asarray 的例子吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59350359/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com