Как заменить последний элемент (или любой элемент) каждой строки в ndarray на константу? - PullRequest
0 голосов
/ 21 апреля 2020

Я хочу заменить последний элемент каждой строки в ndarray на константу. В настоящее время я могу решить эту проблему с помощью циклов, но я ищу элегантное решение. желательно используя numpy функции.

например у меня есть ndarray:

[1 3 4 5]
[4 2 4 1]
[3 2 7 3]
[7 9 4 3]
[6 9 7 2]

Вот результат, который я хочу, с последним элементом каждой строки заменяется на 10

[1 3 4 10]
[4 2 4 10]
[3 2 7 10]
[7 9 4 10]
[6 9 7 10]

1 Ответ

0 голосов
/ 21 апреля 2020

использовать numpy индексирование для столбцов

import numpy as np
arr = np.array([[1,3,4,5],
     [4,2,4,1],
     [3,2,7,3],
     [7,9,4,3],
     [6,9,7,2]])
arr[:,-1]=10
arr
array([[ 1,  3,  4, 10],
       [ 4,  2,  4, 10],
       [ 3,  2,  7, 10],
       [ 7,  9,  4, 10],
       [ 6,  9,  7, 10]])
...