2013-04-09 59 views
0

我怎么能修改此代码,以便当senti_avg不整除(0 /值),减速机()输出NULL或NONE,而不是崩溃?MRJob - Python的 - 如何返回null时划分为0 /值

def reducer(self, bs_id, value): 
    avg_data = list(value) 
    senti_sum = sum([a[0] for a in avg_data]) 
    word_sum = sum([a[1] for a in avg_data]) 
    senti_avg = senti_sum/float(word_sum) 

    yield (bs_id, senti_avg) 
+2

我认为你的意思'值/ 0'吧? – 2013-04-09 14:09:12

+0

值/ 0是有道理的,但我的WORD_COUNT总是> 0,也许有我的代码错误。不知道为什么它是为0 /值返回错误... – 2013-04-09 14:19:18

+0

也许;如果'avg_data'为空,'senti_sum'和'word_sum'将为0,从而导致'0/0'和'ZeroDivisionError'。 – 2013-04-09 14:20:57

回答