首页 > 解决方案 > 如何将一个数组附加到另​​一个数组,同时在 Python 中保持两个数组彼此分开

问题描述

我有 2 个数组:A 和 X。X 是一个填充有其他数组的数组。我无权访问 X,所以我无法以任何方式更改它。我需要用 X 中的某些数组填充 A,但我需要保持数组的个体性质。到目前为止,我的代码如下所示:

for i in range(len(X)):
    if X[i, split] <= n:
         A = np.append(A, X)

这样做的问题是,虽然它确实只成功地将我需要的值从 X 获取到 A 中,但它使每个值都成为一个大数组的一部分,而不是保留单独的数组。我试图在这里使用矩阵,但是,我遇到了一个问题,即 X 被识别为仅仅是一维数组而不是二维数组,例如矩阵。

我如何才能将数组从 X 放入 A 中,同时仍将它们分隔成各自的数组?谢谢!

我可能没有问正确的问题,但我提出这个问题的目的是让一个形状函数在 A 上运行以返回两个值,例如 (10, 4)。目前 X 是这样做的,但是一旦我将数组附加到 A 中,我只会得到一个看起来像 (40,) 的值,它已经获取了所有正确的值,但未能将它们分成单独的数组。

-- X 的前几行在打印时显示如下:

[[5.1 3.5 1.4 0.2]

 [4.9 3.  1.4 0.2]

 [4.7 3.2 1.3 0.2]...

当它被附加到 A 中时,它变成了这样:

[5.1 3.5 1.4 0.2 4.9 3.  1.4 0.2 4.7 3.2 1.3 0.2 ...

标签: pythonarraysnumpy

解决方案


这是否按您的预期工作?

array2d = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]

array = [[x for x in arr if (x % 2 == 0)] for arr in array2d]

推荐阅读