Dataframe ищет слова и добавляет их в новый столбец, а также перебирает список слов - PullRequest
0 голосов
/ 19 июня 2020

Я новичок в python, поэтому прошу прощения, если пропустил что-то очевидное. У меня есть датафрейм газетных статей, а текст хранится в df['text']. Я хотел бы видеть, содержит ли каждая статья определенные c слов, которые я храню в списке, и добавлять каждое вхождение в новый столбец df['words'].

Я пробовал код ниже, но он возвращает True / False в новом столбце, а не само слово.

list_words = ['apple','banana','orange']

for word in list_words:   
    df['words'] = df['text'].apply(lambda x: pd.notna(x) and word in x)

Может кто-нибудь, пожалуйста, помогите мне выяснить, как?

Ответы [ 2 ]

0 голосов
/ 22 июня 2020

Мой друг дал мне идеальный ответ, используя регулярные выражения:

def get_words(text):
    words_found = []
    for word in list_words:
        if re.search(word, text):
            words_found.append(word)
        else:
            continue
        return words_found

df['words'] = df['document'].apply(get_words)
0 голосов
/ 19 июня 2020
def find_word(text):
    temp=[]
    for word in list_words:
        if word in text:
            temp.append(word)
    return temp
    
df['words']=df['text'].apply(find_word)
...