У меня есть фрейм данных
data = ["I am an awesome guy and an old guy","I am a strong guy"]
df = pd.DataFrame(data, columns = ['text'])
Кроме того, у меня есть список фраз
phrase_list = ["awesome guy","strong guy"]
Теперь я пытаюсь создать матрицу частот термина для панд "text"столбец, и я хочу фразы в фразе_лист, если он существует в предложении как одно слово в матрице. Выходные данные должны быть примерно такими:
text I am an "awesome guy" and old guy a "strong guy"
0 I am an awesome guy and an old guy 1 1 2 1 1 1 1 0 0
1 I am a strong guy 1 1 0 0 0 0 0 1 1
Есть идеи?
Мне удалось получить матрицу частот термина без словосочетания фразы с приведенным ниже кодом, но я не уверен, как включить фразу_списка.
from sklearn.feature_extraction.text import CountVectorizer
countvec = CountVectorizer()
countvec.fit_transform(df['text'])
df = pd.DataFrame(countvec.fit_transform(df['text']).toarray(), columns=countvec.get_feature_names())