【问题标题】:How to use append for 2D arrays?如何对二维数组使用追加?
【发布时间】:2019-07-18 14:17:40
【问题描述】:

我正在尝试通过此代码将数组 y 添加到数组 x

import numpy as np

x = np.zeros((5,2))
y = np.array([[1,2]])
np.append(x , y)

但是x的结果还没有:

array([[0., 0.],
       [0., 0.],
       [0., 0.],
       [0., 0.],
       [0., 0.]])

有什么问题?

【问题讨论】:

  • 不要使用np.append。太多人用错了。它不是列表追加方法的克隆。
  • 你有一个 (5,2) 数组和一个 (1,2)。为什么不只是np.concatenate((x,y),axis=0)

标签: python numpy append


【解决方案1】:

使用np.concatenate:

import numpy as np

x = np.zeros((5,2))
y = np.array([[1,2]])
result = np.concatenate((x,y), axis = 0)

【讨论】:

  • 它似乎比append更好,因为可以在连接后保持维度。
  • 您可以在此链接中查看差异:stackoverflow.com/questions/35932101/…。顶部评论说 np.append 使用 np.concatenate
  • K.Maj 您的回答没有回答问题。问题是:为什么 x 不改变值?
【解决方案2】:
x = np.append(x, y)

你错过了 x 任务

【讨论】:

  • 谢谢。但它似乎将x 从二维数组更改为一维数组。是否也可以保持形状?
  • 这是第二个问题。
猜你喜欢
  • 1970-01-01
  • 2012-07-05
  • 2019-06-27
  • 2018-04-18
  • 2019-05-05
  • 2021-08-10
  • 1970-01-01
  • 1970-01-01
  • 2021-10-29
相关资源
最近更新 更多