У меня есть excel-1 (необработанные данные) и excel-2 (справочный документ)
В excel-1 «комментарии» должны сопоставляться с колонкой «Комментарии» в excel-2. Если строкав столбце «комментарии» в excel-1 содержится любая из подстрок в столбце «комментарии» в excel-2, первичная и вторичная причины из excel-2 должны быть указаны в каждой строке в Excel-1.
Excel-1 {'Item': {0: 'rr-1', 1: 'ss-2'}, 'Order': {0: 1, 1: 2}, 'Comments': {0: 'Good; Stockне в порядке, # 1237-MF, закрытие склада », 1:« без изменений, плохо, доставка на следующей неделе, 09/12/2018-MF * '}}
Excel-2 {«Комментарии»: {0: «Хорошо», 1: «Запас не в порядке», 2: «Запас закрыт», 3: «Без изменений», 4: «Плохой запас», 5: «Доставка на следующую неделю»}, «Основная причина»': {0: «Качество», 1: «Склад», 2: «Логистика», 3: «Обратная связь», 4: «Склад», 5: «Логистика»}, «Вторичная причина»: {0: «Производство»', 1: «Склад», 2: «Склад», 3: «Обратная связь», 4: «Склад», 5: «Склад»}}
Пожалуйста, помогите построить логику.
Я получаюответ, когда есть одно совпадение с использованием функции pd.dataframe.str.contains / isin, но как написать логику для поиска нескольких совпадений и записи в определенном формате структуры.

for value in df['Comments']:
string = re.sub(r'[?|$|.|!|,|;]',r'',value)
for index,value in df1.iterrows():
substring = df1.Comment[index]
if substring in string:
df['Primary Reason']= df1['Primary Reason'][index]
df['Secondary Reason']=df1['Secondary Reason'][index]