如何做一个字数在MongoDB

0

的问题

任何人都可以推荐的一种方式,我可以做这个代码作为一个MongoDB查询?

import pandas as pd 
data = pd.read_csv("elonmusk.csv") 
from collections import Counter
Counter(" ".join(data["tweet"]).split()).most_common(100)

我在寻求帮助编写一个MongoDB查询,可以创建一个类似的输出的代码显示在这里。

分析所有文本的一场和返回最常用的词。

enter image description here

我相信MongoDB词云链接在这里有一个类似的解决方案 https://docs.mongodb.com/charts/saas/chart-type-reference/word-cloud/ 但是我要写的代码在MongoDB壳。

我不知道该如何应用以下计算器方案在这个链接 最经常词在MongoDB集合

预先感谢任何建议。

mongodb
2021-11-24 00:08:23
1

最好的答案

1

查询

  • 查询假定,该案文是在鸣叫场
  • 匹配找到的话与regex(字只含有字母数字符这里的)
  • 放松
  • 小组与计数
  • $set 为解决结构(你可以使用项目还与其相同)
  • 按字数
  • 限制只保留的100名最受欢迎的话

测试的代码这里

aggregate(
[{"$match": {"$expr": {"$eq": [{"$type": "$tweet"}, "string"]}}},
 {"$set": 
    {"matches": {"$regexFindAll": {"input": "$tweet", "regex": "\\w+"}}}},
 {"$project": {"tokens": "$matches.match"}},
 {"$unwind": {"path": "$tokens"}},
 {"$group": {"_id": "$tokens", "count": {"$sum": 1}}},
 {"$set": {"word": "$_id", "_id": "$$REMOVE"}},
 {"$sort": {"count": -1}},
 {"$limit": 100}])
2021-12-12 14:34:04

嗨Takis_我真的很感谢你的解决方案。 我有几个问题试图运行。 第一,我得到了错误。.... 总是不定的,所以我加入集合名称之前,你的代码。 db。鸣叫。aggregate(现在我得到这个错误。... $regexFindAll需要输入的类型字符串"我早先设定的鸣叫场文索引,但我已下降的索引和我仍然得到错误$regexFindAll需要输入的类型字符串"所以我已经检查过是什么类型的领域是:类型的数据库。鸣叫。findone().鸣叫它返回串的任何建议?
Christopher

一些文件(s)没有串鸣,这不是一个问题, $match 可能只保留文件的鸣叫as string. 我更新的答复。
Takis _

这完美的作品塔基,我只是要做一个小小的编辑,获得它的工作在外壳的这是前缀码数据库。 以及收集名称鸣叫。
Christopher

db。鸣叫。aggregate([{"$匹配":{"$expr":{"$eq":[{"$类型":"$鸣叫"},"string"]}}},{"$组":{"匹配":{"$regexFindAll":{的"输入":"$鸣叫","regex":"\\w+"}}}}, {"$项目":{"令牌":"$相匹配。匹配"}},{"$放松":{的"路径":"$令牌"}},{"$组":{"_id":"$令牌"、"计数":{"$总和": 1}}}, {"$设置":{"单词":"$_id","_id":"$$删除"}},{"$排序":{"count":-1}}, {"$限制":100}])
Christopher

其他语言

此页面有其他语言版本

Русский
..................................................................................................................
Italiano
..................................................................................................................
Polski
..................................................................................................................
Română
..................................................................................................................
한국어
..................................................................................................................
हिन्दी
..................................................................................................................
Français
..................................................................................................................
Türk
..................................................................................................................
Česk
..................................................................................................................
Português
..................................................................................................................
ไทย
..................................................................................................................
Español
..................................................................................................................
Slovenský
..................................................................................................................