Другой способ, может быть, короче сделать это, это использовать np.select
и .isin
метод
import numpy as np
melted['betOn'] = np.select(
[ (melted['linemove'].isin(['bigger dog','flipped, now dog','smaller favorite']),
(melted['linemove'].isin(['smaller dog','flipped, now favorite','bigger favorite']),
[ melted['Home'], # what to use when condition1 is true
melted['Road'] ], # what to use when condition2 is true
default = melted['betOn'])
Поскольку у вас есть только два условия, вы также можете просто выполнить
melted.loc[melted['linemove'].isin(['smaller dog','flipped, now favorite','bigger favorite']), 'betOn'] = melted.loc[melted['linemove'].isin(['smaller dog','flipped, now favorite','bigger favorite']), 'Home']
melted.loc[melted['linemove'].isin(['smaller dog','flipped, now favorite','bigger favorite']), 'betOn'] = melted.loc[melted['linemove'].isin(['smaller dog','flipped, now favorite','bigger favorite']), 'Home']
Преимущество метода np.select
заключается в том, что вам не нужно располагать дважды строки (слева и справа)