【问题标题】:frequency count of words in text column in pandas dataframe and store it in other column熊猫数据框中文本列中单词的频率计数并将其存储在其他列中
【发布时间】:2023-03-31 16:50:01
【问题描述】:
  1. 数据帧视图

我有一个带有评论列的 Pandas DataFrame,如上图所示。 我想获取 product['review'] 列的每一行中每个单词的计数并将其存储到另一列中,即 products['word_count']。我尝试的代码如下:

products['word_count'] = products['review'].apply(lambda x : nltk.FreqDist)

但是,我得到的不是字数统计,而是列中的 对象

【问题讨论】:

  • 您得到的正是您要求代码执行的操作。您将 FreqDist 类传递到列中。 <class .......> 不能自动打印到屏幕上。

标签: python pandas text-processing


【解决方案1】:

首先你错误地应用了 lambda,你也应该将参数指定为“x”:

# lambda x : nltk.FreqDist
lambda x : nltk.FreqDist(x)

但这也解决不了你的问题。

在我看来,您可能需要两种不同的解决方案:

解决方案 1:以整数表示的总字数

products['word_count'] = products['review'].apply(lambda x : len(x.split(" ")))

解决方案2:频率分布作为字典

products['word_count'] = products['review'].apply(lambda x : nltk.FreqDist(nltk.word_tokenize(x)))

【讨论】:

    猜你喜欢
    • 2018-03-28
    • 1970-01-01
    • 2022-01-18
    • 2018-09-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多