我正在尝试在Python中进行MapReduce,我的CSV文件如下所示:
trip_id taxi_id pickup_time dropoff_time ... total
0 20117 2455.0 2013-05-05 09:45:00 50.44
1 44691 1779.0 2013-06-24 11:30:00 66.78
我的代码如下:
import pandas as pd
import numpy as np
from mrjob.job import MRJob
class MRCount(MRJob):
def mapper(self, _, line):
datarow = line.replace(' ','').replace('N/A','').split(',')
trip_id = datarow[0]
total = datarow[14]
total = np.float(total)
yield ((trip_id), (total))
由于我的代码将所有行传递给映射器,因此它以字符串行(索引)开头,但我想玩的是浮点型的总数,因此当我运行文件时,会出现错误。
TypeError: float() argument must be a string or a number, not 'generator'
当处理映射函数时,我应该如何跳过CSV文件的第一行?
mapper
做什么? - Stephen Rauch