можно написать if () else, в каждой ветке присваивая новое значение переменной датафрейма, а можно воспользоваться тем, что if else возвращает значение, создать новый val с понятным названием и только улучшить читаемость кода. И рефакторинг будет проще, вот серьёзное преимущество. И если многопоточное приложение, тоже будет легче поддерживать