Вопрос немного сбивает с толку, потому что похоже, что у вас уже есть столбцы, которые вы хотите создать. Они предварительно инициализированы пустыми данными или чем-то подобным?
Я думаю, что другие люди говорят вам примерно так:
cols = ['Publisher','Channel','Source', ...] # Name of the columns you want to iterate
values = ['Instagram', 'Social', 'AA', ...] # The values you want to yield after np.where()
for i in range(len(cols)):
LOOKUP[cols[i]] = np.where(LOOKUP['Subchannel'].str.contains("PROMO"),values[i], LOOKUP[cols[i]])
Таким образом, вам не нужно писать много похожих строк. Вместо этого просто обновите cols
и values
.