Я пишу функцию, которая принимает фрейм данных (df) твитов в качестве входных данных. Мне нужно токенизировать твиты, удалить стоп-слова и добавить этот вывод в новый столбец. Я не могу импортировать ничего, кроме numpy и pandas.
Стоп-слова находятся в словаре следующим образом:
stop_words_dict = {
'stopwords':[
'where', 'done', 'if', 'before', 'll', 'very', 'keep', 'something', 'nothing', 'thereupon',
'may', 'why', '’s', 'therefore', 'you', 'with', 'towards', 'make', 'really', 'few', 'former',
'during', 'mine', 'do', 'would', 'of', 'off', 'six', 'yourself', 'becoming', 'through',
'seeming', 'hence', 'us', 'anywhere....}
Это то, что я пытался сделать: функция удаления стоп-слов
def stop_words_remover(df):
stop_words = list(stop_words_dict.values())
df["Without Stop Words"] = df["Tweets"].str.lower().str.split()
df["Without Stop Words"] = df["Without Stop Words"].apply(lambda x: [word for word in x if word not in stop_words])
return df
Так если бы это был мой ввод:
[@bongadlulane, please, send, an, email, to,]
Это ожидаемый вывод:
[@bongadlulane, send, email, mediadesk@eskom.c]
но я продолжаю возвращать первое вместо второго
Любое понимание будет действительно ценится. Спасибо