我有一个二维数组与形状(x,y),我想要转换为形状(x,y,1)的3d数组。有没有一个很好的Pythonic方法来做到这一点?如何制作一个3D数组的二维numpy数组?
17
A
回答
31
除了其他的答案,你也可以使用与numpy.newaxis
切片:
>>> from numpy import zeros, newaxis
>>> a = zeros((6, 8))
>>> a.shape
(6, 8)
>>> b = a[:, :, newaxis]
>>> b.shape
(6, 8, 1)
甚至这个(这将尺寸任意数量的工作):
>>> b = a[..., newaxis]
>>> b.shape
(6, 8, 1)
2
import numpy as np
a= np.eye(3)
print a.shape
b = a.reshape(3,3,1)
print b.shape
6
numpy.reshape(array, array.shape + (1,))
+0
谢谢,我用A = A.reshape(A.shape +(1,)) – nobody
+2
如果你很乐意修改'A',你可以简单地分配给shape属性:A.shape = A.shape +(1,)',甚至是'A.shape + = 1,'。 –
相关问题
- 1. 在numpy中用3d数组索引一个二维数组
- 2. 如何将numpy二维数组与numpy一维数组相乘?
- 3. numpy的:由一维数组乘以一个二维数组
- 4. 构建现有二维数组中numpy的3d数组
- 5. 索引NumPy的二维数组与另一二维数组
- 6. 从一组非连续的二维切片创建一个3d numpy数组
- 7. 在numpy的二维数组
- 8. 一维到二维数组在numpy
- 9. IndexError索引的二维数组与一维数组(NumPy的)
- 10. 充气一维数组为二维数组numpy的
- 11. 将一维数组转换为numpy的二维数组
- 12. 乘以numpy的二维数组与一维数组
- 13. Python的Numpy intersect1d与一维数组与二维数组
- 14. 如何制作JCheckBox的二维数组?
- 15. numpy二维数组递归
- 16. Numpy-从二维数组
- 17. 简单的问题:在numpy中,如何制作一个多维数组数组?
- 18. Numpy连接二维数组与一维数组
- 19. 制作二维数组
- 20. 如何在NumPy/PyTables中的多个二维数组中形成多维数组?
- 21. 将2D numpy数组列表转换为一个3D numpy数组?
- 22. android如何制作一个二维数组的图标
- 23. 如何将单个数组组合为一个二维数组?
- 24. 二维数组以及如何与一个维数组
- 25. 如何将二维数组转换成一个维数组
- 26. NumPy的:二维数组转换为3D阵列
- 27. 如何一组一维数组复制到在处理二维数组?
- 28. 如何将一维数组复制到另一个一维数组和二维数组?
- 29. 如何制作一个二维数组互斥锁?
- 30. 如何将2d numpy数组列表连接成一个3d numpy数组?
在附注中,'numpy.newaxis'只是'None'。 'newaxis'只是为了可读性。它相当于'b = a [...,None]'(省略号也允许它适用于N维数组,而不仅仅是2D数组。) –
True。出于某种原因,我有一种印象:'newaxis'是'None'只是一个实现细节(因此可能会在将来发生变化),但它看起来像是明确记录的。 –
假设您希望第三个轴不是1?例如你怎么把'a'换成'b'和'b.shape =(6,8,3)'? – Gathide