Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/292.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 用map-reduce求最小值_Python_Mapreduce - Fatal编程技术网

Python 用map-reduce求最小值

Python 用map-reduce求最小值,python,mapreduce,Python,Mapreduce,我试图找到最小的数据集,并给出了这个例子来帮助。代码给了我最大值。我找不到要改变什么才能让它找到最小值 from mrjob.job import MRJob from mrjob.step import MRStep class HighestRevenue(MRJob): def mapper_get_city(self, key, line): # create a key-value pair with key: city and value: amount

我试图找到最小的数据集,并给出了这个例子来帮助。代码给了我最大值。我找不到要改变什么才能让它找到最小值

from mrjob.job import MRJob

from mrjob.step import MRStep

class HighestRevenue(MRJob):

    def mapper_get_city(self, key, line):
        # create a key-value pair with key: city and value: amount
        line_cols = line.split(',')
        yield line_cols[0], float(line_cols[2])

    def combiner_process_city(self, city, amount):
        # consolidates all key-value pairs of mapper function (performed at mapper nodes)
        yield city, sum(amount)

    def reducer_city_amount(self, city, amount):
        # final consolidation of key-value pairs at reducer nodes
        yield None, (city, sum(amount))

    def secondReducer(self, city, amount):
        self.aList = []
        for a in amount:
            self.aList.append(a)
        self.aList.sort(key=lambda x: x[1], reverse=True)
        for m in range(0,1):
            yield self.aList[0]

    def steps(self):
        return [
            MRStep(mapper = self.mapper_get_city,
                    combiner = self.combiner_process_city,
                    reducer = self.reducer_city_amount),
            MRStep(reducer = self.secondReducer)
             ]

reverse=True
sort
过程中删除
secondReducer

已经有了一个很好的答案。我只是想指出,将来您可能希望以一种好的方式格式化代码。并尝试发布最小的代码片段,这是一个工作示例,但可以很快理解。这将增加用户回答您的问题的意愿,从而解决我遇到的问题。我假设相反的陈述只是将结果视为相反。