Добавить n элементов массива numpy - PullRequest
0 голосов
/ 21 января 2019

У меня есть массив numpy, и я хочу добавить n элементов с одинаковым значением, пока длина массива не достигнет 100.

Например

my_array = numpy.array([3, 4, 5])

Обратите внимание, что я заранее не знаю длину массива. Это может быть что угодно 3 <= x <= 100 </p>

Я хочу добавить (100 - х) больше элементов, все со значением 9. Как я могу это сделать?

Ответы [ 3 ]

0 голосов
/ 21 января 2019

Если вы «не можете» узнать размер вашего таинственного массива:

fillvalue=9
padding=numpy.ones(100)*fillvalue
newarray=numpy.append(myarray, padding)
newarray=newarray[:100]
0 голосов
/ 21 января 2019

Для этого есть два способа: объединить массивы или назначить их.

Вы можете использовать np.concatenate и создать массив соответствующего размера:

my_array = # as you defined it
remainder = [9] * (100 - len(my_array))
remainder = np.array(remainder)
a100 = np.concatenate((my_array, remainder))

В качестве альтернативы, вы можете создать массив np.full, а затем перезаписать некоторые значения, используя обозначение среза:

a100 = numpy.full(100, 9)
my_array = # as you defined it
a100[0:len(my_array)] = my_array
0 голосов
/ 21 января 2019

Важно помнить, что при работе с пустыми массивами нельзя добавлять элементы, как в списках. Поэтому добавление чисел в массив на самом деле не лучшая вещь.

Гораздо лучше запустить с массивом и заменить элементы новыми данными по мере их поступления. Например:

import numpy as np
MY_SPECIAL_NUMBER = 100
my_array = np.array[3, 4, 5]
my_new_array = np.ones(100) * MY_SPECIAL_NUMBER
my_new_array[:my_array.size] = my_array

my_new_array теперь то, что вы хотите.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...