【问题标题】:How to add a numpy.array in a numpy.matrix?如何在 numpy.matrix 中添加 numpy.array?
【发布时间】:2021-01-24 01:41:45
【问题描述】:

我有一个矩阵,用这种方式定义:

pop = (np.random.randint(3, size=(qtd_individuos, qtd_equipamentos))) + 1

我想在这个矩阵中添加一个新数组。

vetor2 = np.ones((qtd_equipamentos))*2

我已经以这种方式尝试了一些事情,使用 np.append、np.vstack、np.stack、np.concatenate、np.add...没有任何效果...使用 append 将其放入列表太容易了。我不确定我是否尝试做对了。我发现的例子和这个有点不同。

np.insert(pop, vetor1)
np.stack((pop, vetor2))

【问题讨论】:

  • “添加”是什么意思?您应该展示一个示例,说明 popvetor1 之前的样子,以及 pop 之后的样子。
  • 如果一个数组是 (n,m) 而另一个是 (1,m),concatenate 很简单。我敢打赌concatenate 抱怨匹配的维度数。您是否尝试过纠正?
  • 我不确定我是否以正确的方式尝试过

标签: python numpy append add


【解决方案1】:

你也可以使用vstack

np.vstack([pop, vetor2])

建议确保类型相同,因此您可以使用例如:

vetor2 = np.ones(qtd_equipamentos, dtype=int)*2

您的输出具有dtype('int32'),这与没有此修复的dtype 不同。

【讨论】:

    【解决方案2】:

    我是这样解决的:

    pop = np.append(pop, [vetor1], axis = 0) # The square brackets are important!
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-02-15
      • 1970-01-01
      • 2023-03-21
      • 2010-09-23
      • 2016-03-28
      • 2023-03-08
      • 2018-09-01
      • 1970-01-01
      相关资源
      最近更新 更多