我在Pandas有一个文本专栏:
df['TEXT_COL']
然后我将CountVectorizer应用于它:
vectorizer = CountVectorizer()
v = vectorizer.fit_transform(df['TEXT_COL'])
并获得一组单词/功能:
ft = v.get_feature_names()
和TDM:
m = vectorizer.transform(df['TEXT_COL'])
I need: 切片的df,其中只包含来自feature_set ft的特定功能的行 .
怎么弄呢?
Pandas setup:
import pandas as pd
data = [('Word'), ('Word Sea Ocean'), ('Tree'), ('Forest Tree')]
df = pd.DataFrame(data)
df.columns = ['TEXT_COL']
from sklearn.feature_extraction.text import CountVectorizer
vectorizer = CountVectorizer()
v = vectorizer.fit_transform(df['TEXT_COL'])
ft = vectorizer.get_feature_names()
m = vectorizer.transform(df['TEXT_COL'])
对于f in ft:???
1 回答
这是一个小型演示:
m
是稀疏矩阵我们可以将它转换为常规的numpy数组:
如何列出特定功能:
或使用
ft
:让我们显示包含功能
'tree'
的所有行:或者就像这样: