ищет способ получить список ключевых слов и значений столбцов поиска для этих ключевых слов. Если ключевое слово найдено, удалите всю строку из серии и оставьте поле пустым. При поиске этого кажется, что многие хотят отбросить всю строку. Я просто хочу удалить значение ячейки столбца.
Некоторый контекст: этот столбец содержит адреса электронной почты. Иногда, если электронная почта недоступна, люди просто помещают некоторую форму (n / a, N / A, na, na@na.com, et c ...). Тем не менее, есть много способов набрать его, а также ввести с ошибкой (н / д, na@Na.c, a@n.co, n@n, et c ....). Итак, я ищу идеал, чтобы уловить все, что я могу. Я удаляю всю строку (значение).
My Logi c: Создайте список ключевых слов с различными комбинациями (может быть длинным). Если ключевое слово найдено, удалите все строковое значение.
keywords = ('na@', 'na.c', 'na@na.c', 'n@n', 'na@na.com', 'NA@')
df['column1'] = df['column1'].str.contains(keywords,"")
# This works but is going to take out a bunch of chained replace statements to get each item.
# also just removes keyword and might have extra characters left in string.
cols = ["column1","column2","column3"]
df[cols] = df[cols].replace('n/a', '').replace('N/A', '').replace('na@na.com', '')
# Works but just handles two conditions only 'na' & 'NA'
df['column1'] = df['column1'].str.replace(r'na',"", case=False)
Starting with: Finished:
column1 column1
tom@gm.com tom@gm.com
na@na.com
n@n
hazy@aol.com hazy@aol.com
n@.co
d88@yah.com d88@yah.com
a@na
nA@
chip@gm.com chip@gm.com
Надеюсь, это имеет смысл. Пожалуйста, дайте мне знать, если вам понадобится дополнительная информация. Я ценю любую помощь, которую вы можете оказать. Заранее спасибо.