【问题标题】:Concatenate two arrays of different dimensions numpy连接两个不同维度的数组numpy
【发布时间】:2021-05-02 19:04:31
【问题描述】:

我有两个 np.array([1,2,3])) 形式的 numpy 数组,我想将它们连接起来,所以我得到:

[[1,2,3],[4,5,6]] 

当有一个 [[1,2,3],[4,5,6]] 和另一个 [7,8,9] 形式的 numpy 数组并且我想得到时,它也必须工作:

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

我尝试了 np.concatenate 但我无法让它工作

【问题讨论】:

  • 你遇到了什么错误?描述您的数组尺寸、输入和期望。
  • 我一直得到 [1,2,3,4,5,6]。数组维度发生变化,唯一不变的是内部数组的长度(在示例 3 中)
  • 您忘记阅读 concatenate 文档。 :)

标签: python numpy


【解决方案1】:

您可以为此使用vstack

import numpy as np

a = np.array([1,2,3])
b = np.array([4,5,6])
c = np.array([7,8,9])

d = np.vstack((a,b))

e = np.vstack((d, c))

print(d)
print(e)

给予:

[[1 2 3]
 [4 5 6]]    

[[1 2 3]
 [4 5 6]
 [7 8 9]]

【讨论】:

  • 虽然要使用concatenate,但一维输入必须首先添加一个新的引导轴。
  • @hpaulj:感谢您的评论,是的,它不是设置轴(正如我错误地所说),而是添加了一个引导轴。我刚刚删除了连接评论,因为它对答案没有帮助,在这种情况下,concatenate 似乎会分散注意力。
猜你喜欢
  • 1970-01-01
  • 2020-08-24
  • 2012-03-03
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2022-01-25
相关资源
最近更新 更多