У меня есть 2 CSV-файла, одно из которых содержит предложения, как показано ниже
Как дела
Я хочу, чтобы d ie
Я был дома
Я пошел спать на работе
у него плохая репутация
это я пошел к нему
хорошо спал дома
, а другой файл csv содержит слова с частотой, как показано ниже
слово freq
и 500
you 450
me 300
есть 250
ваш 240
сон 200
работа 150
дом 100
d ie 50
Я пытаюсь извлечь предложения, основанные на словах с частотой от 300 до 100, в новый файл CSV и удалить это предложение после извлечения из основного файла CSV, потому что иногда повторение будет происходит при поиске нового ключевого слова или слова, это код, который мне удалось создать, но он не дает мне желаемого результата:
import sys
import pandas as pd
import re
import string
if len(sys.argv) == 1:
print("please provide a CSV file to analys")
else:
fileinput = sys.argv[1]
dic = sys.argv[2]
wdata = pd.read_csv(fileinput, nrows=0).columns[0]
skip = int(wdata.count(' ') == 0)
wdata = pd.read_csv(fileinput, names=['sentences'], skiprows=skip)
data = wdata['sentences'].str.replace('[^\w\s]', ' ')
keywords=pd.read_csv(dic)
keywords=keywords.loc[keywords['freq'].between(100, 300, inclusive=False), 'word']
df1 = data[data['sentences'].str.split(expand=True).isin(keywords).any(axis=1)]
#deleted rows by keywords
df2 = data[~data['sentences'].str.split(expand=True).isin(keywords).any(axis=1)]
print(df1)
, и я не знаю, как это сделать. После извлечения фразы в главном файле, я ожидаю что-то вроде этого