您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

从ND到一维阵列

从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]: b
Out[14]: array([1, 2, 3, 4, 5, 6])

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

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

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

如果只需要迭代器,请使用np.ndarray.flat

In [20]: d = a.flat

In [21]: d
Out[21]: <numpy.flatiter object at 0x8ec2068>

In [22]: list(d)
Out[22]: [1, 2, 3, 4, 5, 6]
其他 2022/1/1 18:16:21 有490人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶