Давайте предположим, что у нас есть переменная (shape (1, N, a, b, c)), которая хранит массивы с формой (a, b, c).Сначала я хочу инициализировать эту переменную нулями
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
.В следующем цикле (1, N, ...) значения хранилища будут заполнены values
, а предыдущие значения будут перемещены в (1, N-1, ...).И так далее.Если первое сохраненное значение values
достигло первой позиции (1, 1, ...), а новые values
были извлечены и сохранены, то первое значение values
будет выброшено так, что новые значения values
будут сохранены в положении (1, N, ...) и все другие значения, уменьшенные их положением.
Я не знаю, как мне добиться такого поведения.Это что-то вроде очереди за массивами.Поэтому мой вопрос заключается в том, как я могу реализовать функцию save_values_to_storage(values)
?
Edit : похоже, deque
похожи.Но я не знаю, как использовать их для массива NumPy