Фильтрация кадра данных с использованием совпадений ключевых слов Fuzzywuzzy - PullRequest
0 голосов
/ 26 февраля 2019

Начинающий пользователь Python здесь.

У меня есть датафрейм, импортированный из CSV-файла, который мне нужен для поиска ключевых слов "Alert" и "Amber" из столбца from_data (поиск верхнего, нижнего или комбинации обоих регистров).

Вот содержимое моего фрейма данных с именем df:

  Id_No      from_data 
  1          Alert g12134 CONFIRMATION CODE A27 
  1          ALERT g12134 CONFIRMATION CODE A28
  5          g12136  CONFIRMATION CODE B01 - RED
  5          g12136  CONFIRMATION CODE B02 - AMBER
  6          g12136  CONFIRMATION CODE B01 - RED
  6          g12136  CONFIRMATION CODE B02 - AMBER
  9          Alert g12134  CONFIRMATION CODE A27
  15         **ERROR** no alert was registered
  17         g12136  CONFIRMATION CODE B02 - AMBER
  19         g12136  CONFIRMATION CODE B03 - GREEN

Вот что я хотел бы (в новом фрейме данных):

 id_no  from_data
 1      Alert g12134  CONFIRMATION CODE A27
 1      ALERT g12134  CONFIRMATION CODE A28
 9      Alert g12134  CONFIRMATION CODE A27
 5      g12136 CONFIRMATION CODE B02 - AMBER
 15     **ERROR** no alert was registered 
 17     g12136  CONFIRMATION CODE B02 - AMBER

Я искалnet весь день и читаю много нечетких статей, но я не могу получить какой-либо код, дающий мне нужные результаты.

Любая помощь в поиске решения будет принята с благодарностью (и остановит менябезумный !!)

Спасибо

1 Ответ

0 голосов
/ 26 февраля 2019

Использовать логическое индексирование с str.contains()

df[df['from_data'].str.lower().str.contains('alert|amber')]

   Id_No                              from_data
0      1     Alert g12134 CONFIRMATION CODE A27
1      1     ALERT g12134 CONFIRMATION CODE A28
3      5  g12136  CONFIRMATION CODE B02 - AMBER
5      6  g12136  CONFIRMATION CODE B02 - AMBER
6      9    Alert g12134  CONFIRMATION CODE A27
7     15      **ERROR** no alert was registered
8     17  g12136  CONFIRMATION CODE B02 - AMBER
...