Упрощенно, я хотел бы использовать функцию для проверки условия в строке и установить соответствующее значение:
def helper(row): if row["A"] == "TEST": row["B"] = "WOW" else: row["C"] = "NO_GO" moddf = df.apply(helper, axis=1)
Я могу сделать это с помощью iterrows (), но .apply должен быть НАМНОГО быстрееитерация более 1М строк в df.
Вам не нужно (и не следует использовать) применять:
# toy data df = pd.DataFrame({'A':['TEST','NO'], 'B' : ['A','B'], 'C' :list('12')}) s = df['A']=='TEST' df.loc[s,'B'] = 'WOW' df.loc[~s, 'C'] = 'NO_GO'
Вывод:
A B C 0 TEST WOW 1 1 NO B NO_GO