Глядя на регулярное выражение Удалите предсказуемый кусок текста из фрейма данных - PullRequest
1 голос
/ 02 мая 2019

У меня есть дата-кадр результатов проверки и нарушений, который выглядит следующим образом:

Results                 Violations
Pass w/ Conditions  3. MANAGEMENT, FOOD EMPLOYEE AND CONDITIONAL E

Pass                    36. THERMOMETERS PROVIDED & ACCURATE Comment...

Что мне нужно сделать, так это запустить цикл Python через этот фрейм данных pandas, в частности, в столбце нарушений и определить все сценарии 'Начинается с номера и заканчивается комментариями:'

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

df_new['Violations'] = df_new['Violations'].map(lambda x: 
    x.lstrip('0123456789.- ').rstrip('[^a-zA-Z]Comments[^a-zA-Z]'))

Как вы можете видеть, я пытался реализовать закрытие комментариев с помощью команды rstrip regex, но это, похоже, ничего не делает. Вывод тогда выглядит так

Results Violations
0   Pass w/ Conditions  MANAGEMENT, FOOD EMPLOYEE AND CONDITIONAL EMPL...
1   Pass    THERMOMETERS PROVIDED & ACCURATE - Comments: 4...

Что такое команда regex, чтобы в основном сказать: найдите число и удалите все, что находится между числом и комментариями:

Есть ли простой способ сделать это?

1 Ответ

0 голосов
/ 02 мая 2019

Что команда regex в основном говорит: найдите число и удалите все, что находится между числом и комментариями:

foo = '''\
Results                 Violations
Pass w/ Conditions  3. MANAGEMENT, FOOD EMPLOYEE AND CONDITIONAL E
Pass                    36. THERMOMETERS PROVIDED & ACCURATE Comment...'''


>>> print(foo)
    Results                 Violations
    Pass w/ Conditions  3. MANAGEMENT, FOOD EMPLOYEE AND CONDITIONAL E
    Pass                    36. THERMOMETERS PROVIDED & ACCURATE Comment...
>>>


import re
bar = re.sub('(\d+\.).*(Comment.*)', '\\1', foo)


>>> print(bar)
    Results                 Violations
    Pass w/ Conditions  3. MANAGEMENT, FOOD EMPLOYEE AND CONDITIONAL E
    Pass                    36.
>>>

Ссылка:

последнее вхождение-в-а-подстроки-в-а-строки

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