[英]Flatten 3-d numpy array
如何扁平化:
b = np.array([
[[1,2,3], [4,5,6], [7,8,9]],
[[1,1,1],[2,2,2],[3,3,3]]
])
变成:
c = np.array([
[1,2,3,4,5,6,7,8,9],
[1,1,1,2,2,2,3,3,3]
])
这些工作无足轻重:
c = np.apply_along_axis(np.ndarray.flatten, 0, b)
c = np.apply_along_axis(np.ndarray.flatten, 0, b)
只是返回相同的数组。
最好将其放平。
这将完成工作:
c=b.reshape(len(b),-1)
那么c
是
array([[1, 2, 3, 4, 5, 6, 7, 8, 9],
[1, 1, 1, 2, 2, 2, 3, 3, 3]])
您可以完全展平然后重塑:
c = b.flatten().reshape(b.shape[0],b.shape[1]*b.shape[2])
输出量
array([[1, 2, 3, 4, 5, 6, 7, 8, 9],
[1, 1, 1, 2, 2, 2, 3, 3, 3]])
因此,您始终可以使用重塑:
b.reshape((2,9))
array([[1, 2, 3, 4, 5, 6, 7, 8, 9],
[1, 1, 1, 2, 2, 2, 3, 3, 3]])
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.