我有一个类型为'努比·恩达雷,称为“myarray”,当使用python的“print”打印到屏幕上时,看起来像是点击
[[[ 84 0 213 232] [153 0 304 363]]
[[ 33 0 56 104] [ 83 0 77 238]]
[[ 0 0 9 61] [ 0 0 2 74]]]
“myarray”是由另一个库生成的。myarray.shape
的值等于(3,2)。我希望这是一个三维数组,有三个索引。当我尝试自己制作这个结构时,使用:
我得到了second_array.shape
等于(3, 2, 4)
,正如预期的那样。为什么会有这种区别?另外,鉴于此,我如何重塑“myarray”以便合并两列,即,结果是:
[[[ 84 0 213 232 153 0 304 363]]
[[ 33 0 56 104 83 0 77 238]]
[[ 0 0 9 61 0 0 2 74]]]
编辑:为了澄清,我知道在second_array
的情况下,我可以做second_array.reshape((3,8))
。但是对于格式为myarray
但没有3d索引的ndarray,这是如何工作的呢?在
myarray.dtype
是“object
”,但也可以改为ndarray。在
编辑2:越来越近了,但是仍然不能完全得到ravel
/flatten
后面的形状。我有:
a = array([[1, 2, 3],
[4, 5, 6]])
b = array([[ 7, 8, 9],
[10, 11, 12]])
arr = array([a, b])
我试着:
arr.ravel().reshape((2,6))
但这给了[[1, 2, 3, 4, 5, 6], ...]
,我想要{
谢谢。在
实际上,}可以是重塑数组的有用工具:
ravel
和{关于编辑2:
^{pr2}$注意到
由于您希望第一行是
[1,2,3,7,8,9]
,因此上面显示您希望第二个轴成为第一个轴。这可以通过swapaxes
方法实现:或者,给定},可以直接用}:
a
和b
,或者等价地,arr[0]
和{hstack
方法形成{相关问题 更多 >
编程相关推荐