固定长度但顺序填充新值的Python数组

时间:2019-02-24 19:47:33

标签: python numpy queue deque

让我们假设我们有一个变量(形状(1,N,a,b,c)),该变量存储形状为(a,b,c)的numpy数组。我首先要用零初始化该变量

import numpy as np
N = 5
a = 20
b = 40
c = 4
storage = np.zeros(1, N, a, b, c)
# collect new arrays
while True:
    values = np.random.random((a, b, c))  # np.array with shape (a, b, c)
    save_values_to_storage(values)

函数save_values_to_storage(values)的目标是填充存储中的值。在第一个循环中,存储器的(1,N,...)值将用values填充。在下一个循环中,将用values填充存储的值(1,N,...),并将先前的值移到(1,N-1,...)。依此类推。如果第一个存储的values到达第一个位置(1 、、 ...),并且新的values被检索并存储,则第一个values将被丢弃,以使新的{{1 }}存储在位置(1,N,...),所有其他值均按其位置减小。

  

我不知道如何实现这种行为。就像   numpy数组的队列。所以我的问题是我该如何实施   函数values

编辑:似乎save_values_to_storage(values)很相似。但是我不知道如何将它们用于numpy数组

1 个答案:

答案 0 :(得分:0)

我想我解决了这个问题。我不确定这是否是最好的方法。感谢您的改进。

County