Игнорировать отсутствующие значения при сопоставлении значений столбца - PullRequest
0 голосов
/ 05 августа 2020

У меня есть столбец с именем подгруппа , в котором значения разделены запятыми. У меня есть словарь с ключами и значениями. Я запланировал автоматический запуск сценария. Но если значения в подгруппе нет в словаре, функция выскакивает sh и останавливается. Как я могу игнорировать значения * подгруппы , если она отсутствует в моем словаре?

введите описание изображения здесь

здесь подгруппа столбцов имеет значения A, B, C, D, E, но словарь имеет ключ, значения A, B, C. Я хочу игнорировать D, E без выдачи ошибки. Как я могу это сделать? Ниже приведен код, который я написал

mapping_dict = df.set_index('KEY')['VALUES'].to_dict()
df2_values = [v.split(',') for v in df_2['subgroup']]
df_2['subgroup'] = pd.Series([','.join([mapping_dict[v] for v in values]) for values in df2_values])

как я могу обновить этот код, чтобы избежать пропущенных значений ??

1 Ответ

0 голосов
/ 05 августа 2020

, возможно, попробуйте:

df_2['subgroup'] = pd.Series([','.join([mapping_dict[v] for v in values]) for values in df2_values if values in mapping_dict])

Таким образом, он будет использовать только значения из df2_values, которые существуют в mapping_dict

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...