Подтвердить что ты не робот

Numpy Добавление двух векторов разных размеров

Если у меня есть два массива numpy разных размеров, как их можно наложить.

a = numpy([0, 10, 20, 30])
b = numpy([20, 30, 40, 50, 60, 70])

Каков самый чистый способ добавить эти два вектора для создания нового вектора (20, 40, 60, 80, 60, 70)?

Это мой общий вопрос. Для фона я специально применяю функцию преобразования Грина и должен накладывать результаты для каждого временного шага в evaulation на ранее накопленные ответы.

4b9b3361

Ответ 1

Это может быть то, что вы ищете

if len(a) < len(b):
    c = b.copy()
    c[:len(a)] += a
else:
    c = a.copy()
    c[:len(b)] += b

в основном вы копируете более длинный, а затем добавляете на место более короткую

Ответ 2

Если вы знаете, что b имеет более высокое измерение, то:

>>> a.resize(b.shape)
>>> c = a+b

- это все, что вам нужно.