gpt4 book ai didi

python - 操作reduce()MapReduce模型

转载 作者:行者123 更新时间:2023-12-02 20:32:30 25 4
gpt4 key购买 nike

我一直在研究一个简单的单词计数程序,该程序给出了一个文本输入,可以打印出每个单词出现的次数。

reduce函数如下所示:

def reducer(self, word, count):
yield(word, sum(count))

上面的reducer()可以正确计算输入文本文件中每个单词的出现次数。

现在,我想调整reduce()函数,以便仅将出现10次或更多的单词打印在输出文件中。我以为,可能看起来像这样:
def reducer(self, word, count):
if sum(count)>10:
emit(word,sum(count))

但是,这不起作用。而是生成的输出文件按每个单词打印0。我很确定reducer()函数需要调整,而不是map函数。但是,除了包含if语句之外,我什么也没想到。我真的很感谢一些建议。

最佳答案

count是可迭代的,您要对其进行两次迭代,第二次为空,并且总和为零。

您需要存储结果,然后检查并输出。否则,逻辑是正确的

def reducer(self, word, count):
_count = sum(count)
if _count > 10:
emit(word, _count)

关于python - 操作reduce()MapReduce模型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52742952/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com