Есть ли способ изменить массив numpy внутри столбца цикла по столбцу?Изменение столбца массива numpy по столбцу внутри цикла
Я ожидаю, что это может быть сделано с помощью какой-то такой код:
import numpy as n
cnA=n.array([[10,20]]).T
mnX=n.array([[1,2],[3,4]])
for cnX in n.nditer(mnX.T, <some params>):
cnX = cnX+cnA
Какие параметры следует использовать для получения mnX=[[10,23],[12,24]]
?
Я знаю, что эта проблема может быть решена с помощью следующего кода:
cnA=n.array([10,20])
mnX=n.array([[1,2],[3,4]])
for col in range(mnX.shape[1]):
mnX[:,col] = mnX[:,col]+cnA
Hovewer, в питоных мы перебрать модифицированные объекты, а не индексы, поэтому вопрос - можно перебрать столбцы (которые должны быть изменены на месте) напрямую?
Знаете ли вы, что синтаксис разрезания массива numpy? http://docs.scipy.org/doc/numpy/reference/arrays.indexing.html#arrays-indexing – DaveP
Вы говорите, что матрица, но ваш код говорит ndarray? Это две разные вещи. – usethedeathstar
Спасибо. Я исправил и расширил свой вопрос. – Apogentus