Массивы Python - инициализация первого элемента? - PullRequest
0 голосов
/ 24 октября 2019
diffs = np.empty([2, 3]) # 2D array 2x3.
alldiffs = np.empty([2, 3, 1]) # 3D array 2x3xN. This creates 1st element. 

for x in range(1000): 
    diffs = new_diffs(x)
    alldiffs = np.dstack((alldiffs, diffs))

Я получаю 1001 diffs элементов в alldiffs - вместо 1000. Как бы я инициализировал alldiffs без автоматического создания первого элемента?

1 Ответ

0 голосов
/ 24 октября 2019

Вместо создания alldiffs в виде пустого массива создайте его при первом получении данных в diffs с помощью:

alldiffs = np.expand_dims(diffs, axis=2)
alldiffs = np.dstack((alldiffs, diffs))
alldiffs = np.dstack((alldiffs, diffs))
alldiffs.shape # (2, 3, 3)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...