У меня есть фрейм данных с 2 столбцами, и я хочу создать 3-й столбец на основе сравнения между 2 столбцами.
Итак, логика такова:
столбец 1 val = 3, столбец 2 val = 4, поэтому новым значением столбца будет ничто
столбец 1 val = 3, столбец 2 val = 2, поэтому новый столбец 3
Это очень похоже проблема на ранее заданную, но ответ там не работает для меня, используя np.where ()
Вот что я попробовал:
FinalDF['c'] = np.where(FinalDF['a']>FinalDF['b'],[FinalDF['a'],""])
и после того, как это не удалось, я попытался выяснить, может быть, ему не нравится [x, y], который я дал, поэтому я попытался:
FinalDF['c'] = np.where(FinalDF['a']>FinalDF['b'],[1,0])
результат всегда:
ValueError: either both or neither of x and y should be given
Редактировать: я также удалил [x, y], чтобы посмотреть, что происходит, так как документация говорит, что это необязательно. Но я все еще получаю ошибку:
ValueError: Length of values does not match length of index
Что странно, потому что они находятся в одном и том же кадре данных, , хотя в одном столбце есть некоторые значения Nan.
Я не думаю, что смогу использовать np.select , потому что у меня есть условие. Я связался с предыдущими вопросами, чтобы читатели могли ссылаться на них в будущих вопросах.
Спасибо за любую помощь.