Подсчет уникальных вхождений слов из столбца в одном кадре данных в другом кадре данных - PullRequest
0 голосов
/ 09 октября 2018

У меня есть pandas dataframe df со строковым столбцом Posts, что-то вроде этого:

df['Posts']
0       this is an example sentence
1       this too is an example too is an example sentence
2       yup, still an example sentence

У меня есть другой dataframe df1, в котором есть список тегов в столбце Phrases, что-то вроде этого:

df1['Phrases']
0       example
1       example sentence
2       is an
3       is an example
4       yup

Мне нужен фрейм данных с уникальным счетом Phrases в df1, который появляется в df Posts, что-то вроде этого:

        Phrases             Count   
0       example               3 
1       example sentence      3
2       is an                 2
3       is an example         2
4       yup                   1

1 Ответ

0 голосов
/ 09 октября 2018

Используйте str.extract, затем проверьте не пропущенные значения и подсчитайте вхождения sum - True s, например, 1 s:

df1['Count'] = [df['Posts'].str.extract('(' + x + ')', expand=False).notnull().sum()
                     for x in df1['Phrases']]
print (df1)
               Tags  Count
0           example      3
1  example sentence      3
2             is an      2
3     is an example      2
4               yup      1

РЕДАКТИРОВАТЬ:

Для несчитаемого совпадения совпадений используйте границы слов:

df1['Count'] = [df['Posts'].str.extract(r'(\b' + x + r'\b)', expand=False).notnull().sum()
                     for x in df1['Phrases']]
print (df1)
            Phrases  Count
0           example      3
1  example sentence      3
2             is an      2
3     is an example      2
4               yup      1
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...