2016-07-22 5 views
0

Это может быть глупый вопрос, но я только начал использовать numpy, и мне нужно выяснить, как выполнить некоторые простые операции.Numpy: операции над столбцами (или строками) массива NxM

Предположим, что у меня есть массив 2х3

array([[1, 3, 5], 
    [2, 4, 6]]) 

И что я хочу, чтобы выполнить какую-то операцию на первой колонке, например, вычесть 1 для всех элементов, чтобы получить

array([[0, 3, 5], 
    [1, 4, 6]]) 

Как может Я выполняю такую ​​операцию?

+0

Посмотрите в нарезку: http://docs.scipy.org/doc/numpy/reference/arrays.indexing.html#basic-slicing-and-indexing – Divakar

ответ

1
arr 
# array([[1, 3, 5], 
#  [2, 4, 6]]) 

arr[:,0] = arr[:,0] - 1  # choose the first column here, subtract one and 
          # assign it back to the same column 

arr 
# array([[0, 3, 5], 
#  [1, 4, 6]]) 
+0

Отличный ответ. Я искал высокий и низкий и нашел правильный синтаксис здесь. Мне просто нужно было знать, как сделать 'np.mean (dat [,, 5])' после использования 'genfromtxt' для чтения csv-файла в массив numpy. Вы не думаете, что это было так далеко от проторенного пути. Но ты прибил его мне. Большое спасибо – SDsolar

+1

И на самом деле, я вернусь к 'csv.read()', поэтому я могу сохранить значения индекса, которые являются датой и временем, и отображаться как 'nan' в' genfromtxt', теперь, когда Я знаю, как это работает. Это отличное решение. Слава богу, что Google ведет меня сюда. И благодарю вас за этот ответ, который находится здесь, чтобы найти. Я должен смеяться, видя все связанные с ними вопросы, которые Google мог найти первым. Он работает загадочно. – SDsolar

Смежные вопросы