У меня есть DataFrame df:
A B
a 2 2
b 3 1
c 1 3
Я хочу создать новый столбец на основе следующих критериев:
если строка A == B: 0
если rowA > B: 1
если строка A < B: -1
поэтому, учитывая приведенную выше таблицу, это должно быть:
A B C
a 2 2 0
b 3 1 1
c 1 3 -1
Для типичных if else случаев я использую np.where(df.A > df.B, 1, -1), предоставляет ли pandas специальный синтаксис для решения моей проблемы за один шаг (без необходимости создавать 3 новых столбца и затем объединять результат)?

applyи установитьaxis=1, чтобы работать, не уверен, что я могу придумать операцию, которая дала бы вам то, что вы хотите - person EdChum   schedule 11.02.2014df['C']=df.apply(myFunc(row), axis=1), где myFunc делает то, что вы хотите, это не связано с созданием «3 столбцов». - person EdChum   schedule 11.02.2014