Cra*_*ien 8 python numpy machine-learning data-science
我在找一些例子显示之间的差异numpy.asanyarray()和numpy.asarray()?在什么情况下我应该专门使用 asanyarray()?
代码asanyarray:
return array(a, dtype, copy=False, order=order, subok=True)
Run Code Online (Sandbox Code Playgroud)
对于asarray:
return array(a, dtype, copy=False, order=order)
Run Code Online (Sandbox Code Playgroud)
唯一的区别在于指定subok参数。如果您正在使用ndarray您可能想要使用它的子类。如果你不知道这意味着什么,那可能没有关系。
默认值为np.array:
array(object, dtype=None, copy=True, order='K', subok=False, ndmin=0)
Run Code Online (Sandbox Code Playgroud)
如果您正在微调一个函数,该函数应该适用于所有类型的 numpy 数组(以及可以制成数组的列表),并且不应该制作不必要的副本,则可以使用这些函数之一。否则np.array,无论有没有额外的参数,都可以正常工作。作为初学者,不要花太多精力去理解这些差异。
===
expand_dims 两者都使用:
if isinstance(a, matrix):
a = asarray(a)
else:
a = asanyarray(a)
Run Code Online (Sandbox Code Playgroud)
甲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)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1063 次 |
| 最近记录: |