#python #python-3.x #pandas
#python #python-3.x #pandas
Вопрос:
итак, в основном я пытаюсь сравнить два файла CSV и вернуть совпадения.
CSV1: содержит список ключевых слов.
keywords
Apple
Banana
Orange
CSV2: Содержит случайное содержимое.
content
I like Apples
Banana is my favorite Fruit
Strawberry Smoothies are the best
Если я включу ключевые слова в код следующим образом… Я получаю достойный результат.
import pandas as pd
df = pd.read_csv('CSV1.csv')
result = df[df.content.str.contains('Apple|Banana|Orange')]
Поскольку ключевое слово-file становится все больше. Я ищу способ извлечь ключевые слова из csv и проверить совпадения вместо того, чтобы вводить все ключевые слова в код.
Ответ №1:
Вы могли бы сделать это с помощью функции pandas isin() (https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas .DataFrame.isin.html)
Псевдокод будет:
# put the csv1's list to lower case
list_csv1 = [i.lower() for i in list_csv1]
# use the isin() function
# again, put the content to lower case
result = df[df.content.str.lower().isin(list_csv1)]
Перевод всего в нижний регистр не является обязательным, но это хороший способ нормализовать ваши данные и предотвратить пропуски.