展平数组中的所有子数组
Flatten all subarrays in an array
我得到了一个 numpy 数组 X
,其形状 (2 , 2 , 3)
如下所示:
X = [[[1 , 2 , 3 ]
[4 , 5 , 6]] ,
[[7 , 8 , 9 ]
[10, 11, 12 ]],
我想展平所有子数组并将 X 变为 (2 , 6) 的形状,表示如下:
X = [[ 1 , 2 , 3 , 4, 5 , 6 ] ,
[ 7 , 8 , 9 , 10, 11 , 12 ] ]
但是我用X.flatten()
的时候,结果是这样的:
X = [ 1 , 2, 3, 4 , 5, ... , 12]
有什么函数可以帮助我按照我的意思转换数组吗?
迭代数组并展平子列表
arr = np.array([x.flatten() for x in X])
或者对于 numpy 解决方案,您也可以使用 np.hstack()
arr = np.hstack(X)
输出
print(arr)
#[[ 1 2 3 4 5 6]
# [ 7 8 9 10 11 12]]
遍历数组并展平子组件:
x = np.array([[[1,2],[3,4]], [[5,6],[7,8]]])
y = np.array([i.flatten() for i in x])
print(x)
print(y)
[[[1 2]
[3 4]]
[[5 6]
[7 8]]]
[[1 2 3 4]
[5 6 7 8]]
就reshape
.....
import numpy as np
arr = np.array([[[1 , 2 , 3 ],
[4 , 5 , 6]],
[[7 , 8 , 9 ],
[10, 11, 12 ]]])
arr.reshape(2, 6)
结果:
array([[ 1, 2, 3, 4, 5, 6],
[ 7, 8, 9, 10, 11, 12]])
如果它是一个 numpy 数组,你可以使用 reshape
x.reshape(2,6)
输入:
x = np.array([[[1,2,3],[4,5,6]],[[7,8,9],[10,11,12]]]
x.reshape(2,6)
输出:
array([[ 1, 2, 3, 4, 5, 6],
[ 7, 8, 9, 10, 11, 12]])
我得到了一个 numpy 数组 X
,其形状 (2 , 2 , 3)
如下所示:
X = [[[1 , 2 , 3 ]
[4 , 5 , 6]] ,
[[7 , 8 , 9 ]
[10, 11, 12 ]],
我想展平所有子数组并将 X 变为 (2 , 6) 的形状,表示如下:
X = [[ 1 , 2 , 3 , 4, 5 , 6 ] ,
[ 7 , 8 , 9 , 10, 11 , 12 ] ]
但是我用X.flatten()
的时候,结果是这样的:
X = [ 1 , 2, 3, 4 , 5, ... , 12]
有什么函数可以帮助我按照我的意思转换数组吗?
迭代数组并展平子列表
arr = np.array([x.flatten() for x in X])
或者对于 numpy 解决方案,您也可以使用 np.hstack()
arr = np.hstack(X)
输出
print(arr)
#[[ 1 2 3 4 5 6]
# [ 7 8 9 10 11 12]]
遍历数组并展平子组件:
x = np.array([[[1,2],[3,4]], [[5,6],[7,8]]])
y = np.array([i.flatten() for i in x])
print(x)
print(y)
[[[1 2]
[3 4]]
[[5 6]
[7 8]]]
[[1 2 3 4]
[5 6 7 8]]
就reshape
.....
import numpy as np
arr = np.array([[[1 , 2 , 3 ],
[4 , 5 , 6]],
[[7 , 8 , 9 ],
[10, 11, 12 ]]])
arr.reshape(2, 6)
结果:
array([[ 1, 2, 3, 4, 5, 6],
[ 7, 8, 9, 10, 11, 12]])
如果它是一个 numpy 数组,你可以使用 reshape
x.reshape(2,6)
输入:
x = np.array([[[1,2,3],[4,5,6]],[[7,8,9],[10,11,12]]]
x.reshape(2,6)
输出:
array([[ 1, 2, 3, 4, 5, 6],
[ 7, 8, 9, 10, 11, 12]])