Я пытаюсь заставить этот код работать в Python Anaconda Spyder. Я должен использовать Map -Reduce для кода
У меня есть файл CSV
Я пытаюсь избавиться от $
суммы платежа, чтобы преобразовать ее в
float
Также мне нужно построить график для этого
так
PayeeVendorName
PayeAmount
и Average
оплата произведена
Я пробовал следующий код, но не знаю, как работать с
$
подписать и преобразовать в число с плавающей точкой из строки, чтобы я мог разобрать его в карту, уменьшить
# -*- coding: utf-8 -*-
"""
Spyder Editor
This is a temporary script file.
"""
import pandas as pd
import matplotlib.pyplot as plt
from mrjob.job import MRJob
class MRResearch(MRJob):
def removeDollar(self, PaymentAmount):
amount = PaymentAmount.str.replace ("$").as("").astype(float)
return amount
def mapper(self, key, line):
( CheckNumber, CheckDate, PayeeNumber, PayeeVendorName, PaymentAmount, ServiceTypeId, +
ServiceTypeDesc, PurchaseOrder, PDMCU, DepartmentNbr, DepartmentName, BusinessUnitCode, +
BusinessUnitName, VendorName, VendorAddress, VendorAddress_2, City, StateID, ZipCode) = line.split(',')
PaymentMade = self.removeDollar(PaymentAmount)
yield PayeeVendorName, float(PaymentMade)
def reducer(self, PayeeVendorName, PaymentMade):
total = 0
numElement = 0
for x in PaymentMade:
total += x
numElement += 1
yield PayeeVendorName, total / numElement
if __name__ == '__main__':
MRResearch.run()
# remove_dollar_sign = df["Amount"] = df["PAYMENT AMOUNT"].apply(lambda title: title).str.replace("$", "").str.replace(",","").astype(float