python - 如何将不同形状的np数组组合在一起并按行分开

标签 python arrays python-2.7 numpy

我正在尝试将几个 npararray 组合在一起。它们如下所示:

 array1: [1]
         [0]
         [1]

array2: [ 3  4 14]
        [12  2 30]
        [ 3  4 14]

array3: [ 4  4 14]
        [12  2 30]
        [ 3  4 14]

我想要实现的是:

      (array([3,  4,  14]), 1, array([4, 4, 14))
      (array([12, 2,  30]), 0, array([12,2, 30))
      (array([3,  4,  14]), 1, array([3,4,14]))

我现在正在学习Python,我尝试使用np.stacknp.concatenate, 但都不起作用。所以我想知道如何实现所需的输出。

最佳答案

numpy 函数,例如 np.stacknp.concatenate 返回 numpy 数组。

但是,您想要的输出不是一个numpy数组。类型不清楚,因为您尚未指定是否要打印值或将它们存储在列表元组中。

以下是您可以根据输入创建的一些有效对象:

设置

import numpy as np

array1 = np.array([[1], [0], [1]])

array2 = np.array([[3, 4, 14],
                   [12, 2, 30],
                   [3, 4, 14]])

array3 = np.array([[4, 4, 14],
                   [12, 2, 30],
                   [3, 4, 14]])

元组的元组

res = tuple(zip(array2, array1.flatten(), array3))

((array([ 3,  4, 14]), 1, array([ 4,  4, 14])),
 (array([12,  2, 30]), 0, array([12,  2, 30])),
 (array([ 3,  4, 14]), 1, array([ 3,  4, 14])))

元组列表

res = list(zip(array2, array1.flatten(), array3))

[(array([ 3,  4, 14]), 1, array([ 4,  4, 14])),
 (array([12,  2, 30]), 0, array([12,  2, 30])),
 (array([ 3,  4, 14]), 1, array([ 3,  4, 14]))]

单个 numpy 数组

res = np.hstack((array2, array1, array3))

array([[ 3,  4, 14,  1,  4,  4, 14],
       [12,  2, 30,  0, 12,  2, 30],
       [ 3,  4, 14,  1,  3,  4, 14]])

关于python - 如何将不同形状的np数组组合在一起并按行分开,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50167936/

相关文章:

python - 如何#define if 在 C++ 中类似于 python

Python:从列表到枚举列表以传递给 lambda reduce 函数

arrays - 在 Perl 中,如何将散列数组转换为值数组?

python - 强制 Django 在逆向时使用 HTTPS URL

python - 递归问题

python - 为什么 Python 的 dict.keys() 返回一个列表而不是一个集合?

java - 将二维数组从一种方法传递到另一种方法

javascript - 数组数组困惑

python - 解析 s3 存储桶中的 cloudtrail 事件

python - 子进程打开 PowerShell,运行命令,然后终止