【发布时间】:2020-06-26 07:56:49
【问题描述】:
假设我有一个 numpy 数组 e 构造如下:
import numpy as np
a = np.array([1,2])
b = np.array([3,4])
c = np.array([5,6])
d = np.array([7,8])
e = np.empty((2,2), dtype=object)
e[0,0] = a
e[0,1] = b
e[1,0] = c
e[1,1] = d
>>> e
array([[array([1, 2]), array([3, 4])],
[array([5, 6]), array([7, 8])]], dtype=object)
我不知道如何解压数组e,使它变成:
array([[1, 2, 3, 4],
[5, 6, 7, 8]])
感谢任何提示。
【问题讨论】:
-
首先构建一个像
e这样的数组通常是一个错误。考虑更改产生e的代码。 -
你好。我认为您要做的是“展平”包含多个数组的数组。您可以使用 + 号来组合两个数组,或者查看有关展平嵌套数组的现有 stackoverflow 问题。
-
@c8999c3f964f64 添加两个 numpy 数组将尝试将它们广播到兼容的形状,并按元素添加它们。您不能使用
+连接 numpy 数组。 -
我在考虑 array([1, 2] + [3, 4]),你确定这在 numpy 中不起作用吗?对不起,假设不是这样!
-
@c8999c3f964f64
array([1,2] + [3,4])是对lists 而非numpy.ndarrays 的操纵。它的工作方式与array([1,2]) + array([3,4])不同
标签: python arrays numpy nested numpy-ndarray