h = numpy.zeros((2,2,2))
最后2个是什么?它是创建一个多维数组还是什么?
输出:
array([[[ 0., 0.],
[ 0., 0.]],
[[ 0., 0.],
[ 0., 0.]]])
如果它正在创建份数,那么当我执行以下操作时会发生什么?
h = numpy.zeros((2,2,1))
输出:
array([[[ 0.],
[ 0.]],
[[ 0.],
[ 0.]]])
我知道它被零填充,前两个值指定行和列,第三个是什么?先感谢您。我尝试了谷歌,但我不能说出我的问题。
答案 0 :(得分:9)
通过给出三个参数来创建一个三维数组:
numpy.array((2,2,2))
会产生一个大小为2x2x2的数组:
0---0
/ /|
0---0 0
| |/
0---0
numpy.array((2,2,1))
会生成一个大小为2x2x1的数组:
0---0
| |
0---0
numpy.array((2,1,2))
会生成一个大小为2x2x1的数组:
0---0
/ /
0---0
numpy.array((1,2,2))
会生成一个大小为2x2x1的数组:
0
/|
0 0
|/
0
在这些表示中,矩阵“可能看起来像numpy.array((2,2))
”(2x2数组)但是底层结构仍然是三维的。
答案 1 :(得分:3)
阅读(4,3,2)
:有4层楼的建筑物,每层有3行2列房间。因此它是一个三维阵列。
In [4]: np.zeros((4, 3, 2))
Out[4]:
array([[[ 0., 0.],
[ 0., 0.],
[ 0., 0.]],
[[ 0., 0.],
[ 0., 0.],
[ 0., 0.]],
[[ 0., 0.],
[ 0., 0.],
[ 0., 0.]],
[[ 0., 0.],
[ 0., 0.],
[ 0., 0.]]])
答案 2 :(得分:1)
参数指定shape of the array:
In [72]: import numpy as np
In [73]: h = np.zeros((2,2,2))
In [74]: h.shape
Out[74]: (2, 2, 2)
In [75]: h = np.zeros((2,2,1))
In [76]: h.shape
Out[76]: (2, 2, 1)
如果数组的形状是(a,b,c)
,那么它在NumPy中就是3"轴" (或通用英语,3"维度")。轴0的长度为a
,轴1的长度为b
,轴2的长度为c
。
当您定义h = np.zeros((2,2,1))
时,请注意结果有3个括号级别:
In [77]: h
Out[77]:
array([[[ 0.],
[ 0.]],
[[ 0.],
[ 0.]]])
最外面的括号包含2个项目,中间括号也包含2个项目。最里面的括号只包含一个项目。因此,形状为(2,2,1)。
答案 3 :(得分:0)
最后一位数字总是表示元素的数量。所有其他都是数组或列表 因此, (3, 4, 3) 表示我需要一个包含 3 个数组的列表,其中 3 个数组中的每一个包含 4 个数组,这 4 个数组中的每一个都包含 3 个 元素。
{ [[0,0,0,], [0,0,0], [0,0,0], [0,0,0]],
[[0,0,0], [0,0,0], [0,0,0], [0,0,0]],
[[0,0,0], [0,0,0], [0,0,0], [0,0,0]] }
2, 2, 1 表示 2 个数组的列表,每个数组包含 2 个数组,每个数组有 1 个 元素
{ [[0], [0}],
[[0], [0]] }