Заменить цифры двумерного массива на цифры в столбцах - PullRequest
0 голосов
/ 24 марта 2019

У меня есть двумерный массив с некоторыми числами, а также есть df с двумя столбцами. Мне нужно заменить все числа в двумерном массиве в соответствии со старыми / новыми метками в df. Как я могу это сделать?

np.random.randint(15, size = (2,100))
df = pd.DataFrame({ 'old labels' : range(0,15 ,1),
    'new labels' : random.sample(range(0,15), 15)})

Ответы [ 2 ]

0 голосов
/ 24 марта 2019

Это просто отображение.Используя хитрость и эффективность:

data= np.random.randint(15, size = (2,100))
map= df['new labels'].values
result = map[data]
0 голосов
/ 24 марта 2019

Это будет работать, учитывая

arr = np.random.randint(15, size = (2,100))
df = pd.DataFrame({ 'old labels' : range(0,15 ,1),
    'new labels' : random.sample(range(0,15), 15)})

И предполагая, что у нас есть только два измерения.

d = df['new labels'].to_dict()
arr = np.array([d[x] for y in arr.tolist() for x in y]).reshape(arr.shape)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...