У меня есть разделенный запятыми столбец (col1) в кадре данных (df). Мне нужен новый столбец (col2), который принимает отображение (map) и выводит новые значения, если есть отображение. Я достиг этого наивным способом, как показано ниже. Я смотрю, как это может быть сделано питоническим / пандасным способом.
Пример -
import pandas as pd
import numpy as np
df = pd.DataFrame({'col1': ['A, B', 'B, C', 'D']})
map = {'A':'Z', 'B':'Y'}
df['col2'] = None
df['col2'] = np.where(df.col1.str.contains('A'), 'Z', df.col2)
df['col2'] = np.where(df.col1.str.contains('B'), np.where(pd.isnull(df.col2), 'Y', df.col2.astype(str)+', Y'), df.col2)
Вот предполагаемый вывод