Панды, отображающие номера в другой номер - PullRequest
0 голосов
/ 15 сентября 2018

У меня есть ~5000 строк и все значения в моем столбце 'Round' идут от -1 до 7. Я пытаюсь создать новый столбец, и он сопоставлен где -1 = 0, а затем что-нибудь из 1-7 равно 1. Я попробовал простую карту и перечислил все сопоставления, но это не работает.

combine['Drafted'] = combine.Round.map({'-1':0,'1':1,'2':1,'3':1,'4':1,'5':1,'6':1,'7':1})

Что-то не так с приведенной выше логикой, что она не будет работать?

1 Ответ

0 голосов
/ 15 сентября 2018

Полагаю, вы можете добиться этого, используя следующий код:

df = pd.DataFrame({'Round': [-1, 1, 0, 7, -1, 2, 3, 5, -1, 4, 6]})
df['Drafted'] = np.where(df['Round'] == -1, 0, 1)
print(df)

А вывод такой, как показано ниже:

    Round  Drafted
0      -1        0
1       1        1
2       0        1
3       7        1
4      -1        0
5       2        1
6       3        1
7       5        1
8      -1        0
9       4        1
10      6        1
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...