Я пытаюсь выяснить, как удалить повторяющиеся слова из множества предложений, но без удаления однозначных или двузначных чисел.
Ранее я использовал следующее для удаления дубликатов, сохраняя при этом порядок, но при этом удаляются одиночные повторяющиеся числа.
df['reporting_name'] = df['reporting_name'].str.split().apply(lambda x: OrderedDict.fromkeys(x).keys() if x is not None else None).str.join(' ')
Итак, я думаю, что мне нужно какое-то регулярное выражение для разбиения, когда за словом следует число (включая пробел), что-то вроде this .
Или, возможно, есть другое общее решение.
Input
"East Zone Mbc26 East Zone 1 2nd S11B Smds Smoke Damper 1 Status"
"GF Command Room 1 Unit 1 Flow Temperature Temperature"
Ожидаемый результат
"East Zone Mbc26 Zone 1 2nd S11B Smds Smoke Damper 1 Status"
"GF Command Room 1 Unit 1 Flow Temperature"
Дублирующиеся слова удаляются, номера сохраняются, а порядок слов сохраняется.
Если слово имеет идентификатор и является дубликатом, таким как «Зона 1», тогда сохраняются и «Зона», и «Зона 1».