从ND到一维阵列

从ND到一维阵列,第1张

从ND到一维阵列

使用np.ravel(用于1D视图)或np.ndarray.flatten(用于1D副本)或np.ndarray.flat(用于1D迭代器):

In [12]: a = np.array([[1,2,3], [4,5,6]])In [13]: b = a.ravel()In [14]: bOut[14]: array([1, 2, 3, 4, 5, 6])

请注意,

ravel()
返回
view
a
时候可能。因此,修改
b
也会修改
a
。当1D元素在内存中连续时
ravel()
返回a
view
,但是
copy
例如如果返回是
a
通过使用非单位步长(例如
a = x[::2]
)对另一个数组进行切片而得到的,则返回a 。

如果要复制而不是视图,请使用

In [15]: c = a.flatten()

如果只需要迭代器,请使用

np.ndarray.flat

In [20]: d = a.flatIn [21]: dOut[21]: <numpy.flatiter object at 0x8ec2068>In [22]: list(d)Out[22]: [1, 2, 3, 4, 5, 6]


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5631193.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-15
下一篇 2022-12-15

发表评论

登录后才能评论

评论列表(0条)

保存