python - 如何将不同形状的np数组组合在一起并按行分隔
问题描述
我正在尝试将几个 nparray 组合在一起。它们如下所示:
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.stack
, np.concatenate
,但都没有成功。所以我想知道如何实现所需的输出。
解决方案
numpy
np.stack
和np.concatenate
返回numpy
数组等函数。
但是,您想要的输出不是numpy
数组。类型不清楚,因为您尚未指定是否希望将print
值或存储在 alist
或tuple
中。
以下是您可以从输入创建的一些有效对象:
设置
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 - 当某些按钮在 Python 的 tkinter 中绑定相同的事件函数时,有什么方法可以获取我按下的按钮的一些信息?
- java - 如果一个方法已经被另一个测试覆盖,那么为一个方法编写附加测试是否有意义?
- php - 我的数据库将如何获取服务器中的文件?
- java - 保留连字符,除非在带有正则表达式的单词末尾
- c# - C# - data.table:将单列拆分为多列
- javascript - 没有正文的nodejs函数
- python - 列表列表 = TypeError:不可散列的类型:'list'
- azure-active-directory - 使用具有应用程序权限的 Microsoft Graph API 时,租户没有 SPO 许可证
- python - Beautifulsoup类值提取python
- c# - 当您使用带有约束的通用参数时,C# 是否会生成单独的方法?