Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/19.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/windows/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 使用元组元素创建3d np数组_Python_Python 3.x_Numpy_Numpy Ndarray - Fatal编程技术网

Python 使用元组元素创建3d np数组

Python 使用元组元素创建3d np数组,python,python-3.x,numpy,numpy-ndarray,Python,Python 3.x,Numpy,Numpy Ndarray,我想为每个元素创建一个三维np.数组(100x100x100),其中元组(-1,-1,-1)。是否有比以下更快/更好的方法: np.array([[[(0,0,0) for x in range(100)] for y in range(100)] for z in range(100)]) ?您的代码没有真正创建(100x100x100)数组 也许你可以试试: np.ones((100, 100, 100))*-1 如您所见,数组的形状实际上是(1001001003) 您可以使用np.fu

我想为每个元素创建一个三维
np.数组
(100x100x100)
,其中元组
(-1,-1,-1)
。是否有比以下更快/更好的方法:

np.array([[[(0,0,0) for x in range(100)] for y in range(100)] for z in range(100)])

您的代码没有真正创建(100x100x100)数组

也许你可以试试:

np.ones((100, 100, 100))*-1

如您所见,数组的形状实际上是
(1001001003)

您可以使用
np.full
函数生成所需的数组

np.full([100, 100, 100, 3], -1)
这将创建一个100x100x100x3 numpy阵列,该阵列根据需要具有与您的阵列等效的结构

>>> (np.array([[[(0,0,0) for x in range(100)] for y in range(100)] for z in range(100)]) == np.full([100, 100, 100, 3], 0)).all()
True

这不是OP想要的形状,他们的数组有形状(1001001003)。这能回答你的问题吗?解释为什么需要具有元组元素的数组。这不是计算上的最佳数组。另外,请告诉我们您的代码生成的数组。它的
形状和
数据类型是什么。这真的是一个元组数组吗?
>>> (np.array([[[(0,0,0) for x in range(100)] for y in range(100)] for z in range(100)]) == np.full([100, 100, 100, 3], 0)).all()
True