У меня есть массив numpy agent
, который содержит 'y' или 'n'. Я хотел заменить «y» на 1 и «n» на 0 и где что-то еще присутствует. Nan. Я хочу назначить -1. Сценарий я написал былНазначение нового массива numpy в зависимости от существующих значений
agent[agent=='y']=1
agent[agent=='n']=0
agent[(agent!='y') and (agent!='n')]=-1
agent=agent.astype(int)
Это дало ошибку «Значение истинности массива с более чем одним элементом является неоднозначным. Используйте a.any() или a.All()» Я понимаю, что я могу использовать циклы, но Я хочу сделать это в одной строке так же просто, как я могу
'2 * (агент == 'y'). astype ('int') + (агент == 'n'). astype ('int') - 1' работает, но, вероятно, не очень хорошая идея :-) –