powered by simpleCommunicator - 2.0.36     © 2025 Programmizd 02
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / Python. Замена значений в np.array
3 сообщений из 3, страница 1 из 1
Python. Замена значений в np.array
    #40042337
ferzmikk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Здравствуйте!

Есть заданный массив:
Код: python
1.
[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]


и словарь для замены:
Код: python
1.
{10 : 6, 6 : 7}


В массиве нужно изменить значения на основе словаря. Результат должен быть таким:
Код: python
1.
[1 2 3 4 5 7 7 8 9 6]


Если так написать:
Код: python
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
import numpy as np

array = np.array([1, 2, 3, 4, 5, 6, 7, 8, 9, 10])

dict = {10 : 6, 6 : 7}

for element in dict.keys():    
    np.place(array, array == element, dict.get(element))

print(array)

Выдает такой результат
Код: python
1.
[1 2 3 4 5 7 7 8 9 7]

Это неправильно.


Пишу по другому. С использованием Pandas.
Код: python
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
import numpy as np
import pandas as pd

array = np.array([1, 2, 3, 4, 5, 6, 7, 8, 9, 10])

dict = {10 : 6, 6 : 7}

array = np.expand_dims(array, axis = 1) 

df = pd.DataFrame(data=array)
df[0].replace(dict, inplace=True)
array = df.values
array = np.squeeze(array, axis = 1)

print(array)

Выдает такой результат
Код: python
1.
[1 2 3 4 5 7 7 8 9 6]

Это правильно.

Второй вариант получился не оптимальным, то есть перегруженный код. Возможно ли написать короче с использованием только Numpy?
...
Рейтинг: 0 / 0
Python. Замена значений в np.array
    #40042755
Фотография vikkiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ferzmikk,
Код: python
1.
2.
3.
4.
import numpy as np
x=np.array([1,2,3,4,5,6,7,8,9,10])
y={10:6,6:7}
[y.get(z,z)for z in x]
...
Рейтинг: 0 / 0
Python. Замена значений в np.array
    #40042806
ferzmikk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vikkiv,

Интересное решение. Спасибо!
...
Рейтинг: 0 / 0
3 сообщений из 3, страница 1 из 1
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / Python. Замена значений в np.array
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]