【发布时间】:2019-12-18 16:53:50
【问题描述】:
我有一个数据框,其中有一列名为“短语”。我使用以下代码找到了本专栏中最常见的 20 个单词:
print(pd.Series(' '.join(film['Phrase']).lower().split()).value_counts()[:20])
这给了我以下输出:
s 16981
film 6689
movie 5905
nt 3970
one 3609
like 3071
story 2520
rrb 2438
lrb 2098
good 2043
characters 1882
much 1862
time 1747
comedy 1721
even 1597
little 1575
funny 1522
way 1511
life 1484
make 1396
我后来需要为每个单词创建向量计数。我尝试使用以下代码这样做:
vectorizer = CountVectorizer()
vectorizer.fit(film['Phrase'])
print(vectorizer.vocabulary_)
我不会显示整个输出,但输出数字与上面的输出不同。例如,“电影”这个词是 9308,“好”这个词是 6131,“制作”这个词是 8655。为什么会这样? value counts 方法是否只计算使用该单词的每一列而不是计算该单词的每次出现?我是否误解了 CountVectorizer 对象在做什么?
【问题讨论】:
标签: python pandas scikit-learn countvectorizer