python - 如何添加到 numpy 数组的末尾并从头开始删除?

标签 python arrays numpy

我有一个形状为 (1, 100) 的数组,即:

[[1. 2. 3. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0.
  0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0.
  0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0.
  0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0.
  0. 0. 0. 55.]]

我想在末尾添加一些东西(例如 123 之类的数字)并删除第一个元素,这样我将拥有:

[[2. 3. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0.
  0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0.
  0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0.
  0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0.
  0. 0. 55. 123.]]

其中保留了原来的形状(1, 100)

我正在尝试:

x_pred = np.append(x_pred, next_index, axis=1)

(x_pred 是一个(1, 100) 数组,next_index 是一个标量)

但是我得到一个错误:

ValueError: all the input arrays must have same number of dimensions

我做错了什么?

最佳答案

您可以使用 roll 执行此操作。

a = np.zeros((1,10))

#roll and replace
a[0] = np.roll(a[0],-1)
a[0][-1] = new_value

关于python - 如何添加到 numpy 数组的末尾并从头开始删除?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56257772/

相关文章:

javascript - jquery比较数组并返回不相同的值

python - 如何定量测量 SciPy 中的拟合优度?

python - 如何检查数据框中的一列是否完全等于另一个数据框中的列

python - 在有条件的keras中实现自定义损失函数

python替换二维numpy数组中的值

python if语句总是返回False

java - JUnit 断言数组在不相等时是相等的

java - 盒子里的数组输出

python - numpy - 多维 bool 掩码

python - 类型错误 : 'float' object is not iterable trying to annotate an arrow from a list