Ответ 1
Это может быть то, что вы ищете
if len(a) < len(b):
c = b.copy()
c[:len(a)] += a
else:
c = a.copy()
c[:len(b)] += b
в основном вы копируете более длинный, а затем добавляете на место более короткую
Если у меня есть два массива numpy разных размеров, как их можно наложить.
a = numpy([0, 10, 20, 30])
b = numpy([20, 30, 40, 50, 60, 70])
Каков самый чистый способ добавить эти два вектора для создания нового вектора (20, 40, 60, 80, 60, 70)?
Это мой общий вопрос. Для фона я специально применяю функцию преобразования Грина и должен накладывать результаты для каждого временного шага в evaulation на ранее накопленные ответы.
Это может быть то, что вы ищете
if len(a) < len(b):
c = b.copy()
c[:len(a)] += a
else:
c = a.copy()
c[:len(b)] += b
в основном вы копируете более длинный, а затем добавляете на место более короткую
Если вы знаете, что b
имеет более высокое измерение, то:
>>> a.resize(b.shape)
>>> c = a+b
- это все, что вам нужно.