Извлечение значений из фрейма данных pandas на основе списка строк - PullRequest
0 голосов
/ 24 декабря 2018

Я пытаюсь отфильтровать кадр данных pandas, который содержит столбец с заголовками новостей (название столбца 'title'), основываясь на том, содержит ли каждый заголовок какое-либо из названий компаний из списка ('co_names_list')

Я уже пробовал следующую

попытку 1

sp500news = pd.DataFrame()
for i in raw_news_2.index:
    for j in co_names_list:
        if j in raw_news_2.loc[i,'title']:
            sp500news = sp500news.append(raw_news_2.iloc[i])
            print(sp500news)

попытку 2

sp500news = raw_news_2.loc[raw_news_2['title'].isin(co_names_list)]

Пример кадра данных

1 Ответ

0 голосов
/ 24 декабря 2018

Я думаю, что это должно делать то, что вы хотите:

df[df.title.str.contains('|'.join(co_names_list))]

То, что вы делаете с этим, проверяет каждое предложение в title, если любое из слов в co_names_list содержится впредложение.Это достигается путем объединения всех слов в предложении с '|', который действует как оператор OR.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...