如何在熊猫数据框中找到列的ngram频率?

乔治·RF

下面是我输入的熊猫数据框。

在此处输入图片说明

我想找到字母和双字母组的频率。我期望的示例如下所示在此处输入图片说明

如何使用nltk或scikit学习?

我写了下面的代码,它以字符串作为输入。如何将其扩展到系列/数据框?

from nltk.collocations import *
desc='john is a guy person you him guy person you him'
tokens = nltk.word_tokenize(desc)
bigram_measures = nltk.collocations.BigramAssocMeasures()
finder = BigramCollocationFinder.from_words(tokens)
finder.ngram_fd.viewitems()

如果你的数据像

import pandas as pd
df = pd.DataFrame([
    'must watch. Good acting',
    'average movie. Bad acting',
    'good movie. Good acting',
    'pathetic. Avoid',
    'avoid'], columns=['description'])

您可以使用CountVectorizer包的sklearn

from sklearn.feature_extraction.text import CountVectorizer
word_vectorizer = CountVectorizer(ngram_range=(1,2), analyzer='word')
sparse_matrix = word_vectorizer.fit_transform(df['description'])
frequencies = sum(sparse_matrix).toarray()[0]
pd.DataFrame(frequencies, index=word_vectorizer.get_feature_names(), columns=['frequency'])

这给你:

                frequency
good            3
pathetic        1
average movie   1
movie bad       2
watch           1
good movie      1
watch good      3
good acting     2
must            1
movie good      2
pathetic avoid  1
bad acting      1
average         1
must watch      1
acting          1
bad             1
movie           1
avoid           1

编辑

fit只会“训练”您的矢量化器:它将分割您的语料库的单词并使用它来创建词汇表。然后transform可以获取一个新文档并基于矢量化器词汇创建频率矢量。

这里的训练集就是输出集,因此您可以同时进行两种操作(fit_transform)。因为您有5个文档,所以它将创建5个向量作为矩阵。您需要一个全局向量,所以必须制作一个sum

编辑2

对于大数据帧,您可以使用以下方法来加快频率计算:

frequencies = sum(sparse_matrix).data

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何在python熊猫中找到带有多索引的两个数据框列中的最小值?

来自分类Dev

如何在每一行中找到包含列表的熊猫数据框列的标准偏差?

来自分类Dev

我如何在熊猫数据框中找到一行的iloc?

来自分类Dev

如何在熊猫数据框中找到中英文组合记录

来自分类Dev

如何在熊猫数据框中找到最后一个事件的日期

来自分类Dev

如何在熊猫数据框中找到两个时间戳之间的差异

来自分类Dev

如何在熊猫数据框中找到缺失对并填充虚拟值

来自分类Dev

如何在熊猫数据框中找到连续相同字符串值的计数?

来自分类Dev

如何从熊猫数据框中找到谐波平均速度

来自分类Dev

如何在熊猫数据框列中获取NaN消失的频率

来自分类Dev

如何在值的频率上分割熊猫数据框

来自分类Dev

如何计算熊猫数据框中列值更改的频率?

来自分类Dev

如何计算熊猫数据框中列值更改的频率

来自分类Dev

在熊猫数据框中找到条纹

来自分类Dev

如何在R中的数据框中找到列的最大值?

来自分类Dev

如何在数据框列中找到前5个值?

来自分类Dev

如何在pandas数据框列中找到value_counts()的长度大于1的长度

来自分类Dev

如何在pandas数据框列中找到已知值的索引?

来自分类Dev

如何在Python中找到分组数据框的最低编号

来自分类Dev

在熊猫数据框中找到丢失的数据并用NA填充

来自分类Dev

熊猫:在数据框的所有列中找到最大范围

来自分类Dev

熊猫在数据框中的两列中找到交叉销售

来自分类Dev

如何在数据框中找到具有列的最小值的第一行

来自分类Dev

如何在多行和多列的不同数据框中找到两个值之间的差异?

来自分类Dev

在熊猫数据框中找到字符串元素的位置

来自分类Dev

在熊猫数据框中找到连续的开始和结束索引

来自分类Dev

在熊猫数据框中找到非NAN元素的总数

来自分类Dev

检查是否在熊猫数据框中找到组ID或元素

来自分类Dev

熊猫从数据框中找到与列表匹配的所有单词

Related 相关文章

  1. 1

    如何在python熊猫中找到带有多索引的两个数据框列中的最小值?

  2. 2

    如何在每一行中找到包含列表的熊猫数据框列的标准偏差?

  3. 3

    我如何在熊猫数据框中找到一行的iloc?

  4. 4

    如何在熊猫数据框中找到中英文组合记录

  5. 5

    如何在熊猫数据框中找到最后一个事件的日期

  6. 6

    如何在熊猫数据框中找到两个时间戳之间的差异

  7. 7

    如何在熊猫数据框中找到缺失对并填充虚拟值

  8. 8

    如何在熊猫数据框中找到连续相同字符串值的计数?

  9. 9

    如何从熊猫数据框中找到谐波平均速度

  10. 10

    如何在熊猫数据框列中获取NaN消失的频率

  11. 11

    如何在值的频率上分割熊猫数据框

  12. 12

    如何计算熊猫数据框中列值更改的频率?

  13. 13

    如何计算熊猫数据框中列值更改的频率

  14. 14

    在熊猫数据框中找到条纹

  15. 15

    如何在R中的数据框中找到列的最大值?

  16. 16

    如何在数据框列中找到前5个值?

  17. 17

    如何在pandas数据框列中找到value_counts()的长度大于1的长度

  18. 18

    如何在pandas数据框列中找到已知值的索引?

  19. 19

    如何在Python中找到分组数据框的最低编号

  20. 20

    在熊猫数据框中找到丢失的数据并用NA填充

  21. 21

    熊猫:在数据框的所有列中找到最大范围

  22. 22

    熊猫在数据框中的两列中找到交叉销售

  23. 23

    如何在数据框中找到具有列的最小值的第一行

  24. 24

    如何在多行和多列的不同数据框中找到两个值之间的差异?

  25. 25

    在熊猫数据框中找到字符串元素的位置

  26. 26

    在熊猫数据框中找到连续的开始和结束索引

  27. 27

    在熊猫数据框中找到非NAN元素的总数

  28. 28

    检查是否在熊猫数据框中找到组ID或元素

  29. 29

    熊猫从数据框中找到与列表匹配的所有单词

热门标签

归档