Изменение элемента в определенном массиве в ndaray

avatar
Juan
8 августа 2021 в 16:58
43
1
0

Я создал пустой массив в python, например a = np.array([[2,3,4],[6,7,8]])
Теперь я вижу, что есть функция put, с помощью которой я могу указать изменить
. конкретное значение индекса. Я сделал a.put([0,1],100) Но результирующий массив получился
изменено на
массив([[100, 100, 4], [ 6, 7, 8]])
Намерение состояло в том, чтобы изменить значение 3 на 100. Как я могу добиться этого в python
Обычный доступ к индексу завершается ошибкой, когда массив содержит строки с
. сообщение TypeError: 'str' object does not support item assignment
Вариант использования для этого: я читаю данные из файла, и у меня есть
лемматизировать или связать его для построения модели numpy_array = df.to_numpy()
X=numpy_array[:,1] Это X — то, что я должен лемматизировать, и я использовал подход

for i in range(len(X)):
    for j in range(len(X[i])):
         X[i][j]=lemmatizeSentence(X[i][j]) 

Что дало указанную выше ошибку

Источник
user8408080
8 августа 2021 в 17:04
1

как насчет a[0,1] = 100?

Ответы (1)

avatar
sotmot
8 августа 2021 в 17:04
0

Значение может быть изменено путем прямого присвоения.

a = np.array([[2,3,4],[6,7,8]])
a[0,1] = 100
Juan
8 августа 2021 в 17:18
0

Но это не работает для массива со строками, например, когда я делаю X[i][j]="xyz", я получаю сообщение об ошибке TypeError: 'str' object does not support item assignment

sotmot
9 августа 2021 в 06:03
0

Да. В Python строки не поддерживают присваивание