Python:在零数组中初始化numpy数组

Python:在零数组中初始化numpy数组,python,arrays,numpy,initialization,Python,Arrays,Numpy,Initialization,在Python中,我试图在一个大小为N×N的数组中初始化由零组成的2元素数组。我使用的代码很有效,但我正在寻找更高效、更优雅的代码: array1 = np.empty((N,N), dtype=object) for i in range(N): for j in range(N): array1[i,j] = np.zeros(2, dtype=np.int) 提前感谢您的帮助据我所知,您可能应该使用3D阵列: import numpy as np array1 =

在Python中,我试图在一个大小为N×N的数组中初始化由零组成的2元素数组。我使用的代码很有效,但我正在寻找更高效、更优雅的代码:

array1 = np.empty((N,N), dtype=object)
for i in range(N):
    for j in range(N):
        array1[i,j] = np.zeros(2, dtype=np.int)

提前感谢您的帮助

据我所知,您可能应该使用3D阵列:

import numpy as np
array1 = np.empty((N,N,2), dtype=object)
它返回一个由N行、N列和2个深度组成的数组。如果要将(NxN)数组传递到第一个深度,只需使用:

tmp = np.ones(N,N) #for instance
array1(:,:,0) = tmp

为什么每个元素都应该是2的数组。?
(N,N,2)
的维度是否有效?目前还不清楚您试图做什么:要想真正想要一个数组数组(对于
N=2
,您的代码可以得到
array1=array([[array([0,0])、array([0,0])、array([0,0])、array([0,0])、array([0,0])、dtype=object数组(
),一个
3D
数组(例如,大小为nx2数组)还是一个大的
2D
阵列(大小为2Nx2N)?也许会有一个更好的解决方案来解决您的代码问题,比您从这个示例中得到的更好。。。告诉我们更多@Poojan,没有要求。任何数组大小都可以。@jeannej,是的,3D数组可以工作。但是,我需要将前二维初始化为空,然后将第三维初始化为零数组。有什么想法吗?@nrchea001有什么理由不能这样做吗<代码>np.零(N,N,2)?