У меня есть 2 файла CSV, dictionary.csv и file.csv, я хочу проверить, существуют ли слова в dictionary.csv в file.csv. Некоторые строки в dictionary.csv содержат более 2 слов, и я хотел знать, есть ли способ сделать это,
, если в строке 3 слова, и как минимум 2/3 слова изстрока соответствует в file.csv, возвращает 1, иначе 0
, если в строке 2 слова, и не менее 1/2 слова из строки, соответствующей в файле.csv, возвращает 1, иначе 0
Ниже приведен мой код, он точно соответствует
file=pd.read_csv("file.csv")
dictionary=pd.read_csv("dictionary.csv")
pattern='|'.join(dictionary)
news["contain diseases1"] = np.where(
news["STORY"].str.contains(pattern, na=False),
1, 0
)
news.to_csv("clues.csv")
Чтобы помочь вам понять мой вопрос, ниже приведены словарь dictionary.csv и file.csv
dictionary.csv
sigmoid colon cancer
site specific early onset breast cancer syndrome
skin cancer
file.csv
id STORY
0 Ari have a colon cancer
1 Cancer is an epidemic
2 Breast cancer can happen to both genders
Выходные данные, которые я должен получить из этого файла:
clue.csv
id STORY contain diseases1
0 Ari have a colon cancer 1
1 Cancer is an epidemic 1
2 Breast cancer can happen to both genders 1
3 Prioritizing the health of skin 0
4 A specific camping site is only for early birds 0
На данный момент, поскольку код, который у меня есть сейчас, является точным, я продолжаю получать 0