以下是您可能在杂货店找到的食物数据列表。
下面的CSV文件表示城市,食物类型,每磅平均价格以及加利福尼亚某城市的食物消费膳食。我需要确定在python中使用Map reduce功能,哪种食物类型的每磅总价格最低。
Los Angeles,Vegetables,25.51,Breakfast
San Francisco,Fruits,259.32,Breakfast
Sandiego,Meat,22.94,Lunch
Sacramento,Dairy,53.71,Dinner
San Jose,Fish,44.16,Snack
Fresno,Poultry,393.05,Brunch
Oakland,Vegetables,15.99,Dinner
Bakersfield,Nuts,201.46,Dinner
Long Beach,Poultry,74.6,Snack
Anaheim,Grains,89.6,Breakfast
Riverside,Meat,152.75,Brunch
Irvine,Poultry,88.99,Brunch
Santa Barbara,Dairy,241.26,Lunch
Pasadena,Beans,789.7,Snack
这是我到目前为止所拥有的。任何帮助将不胜感激。
from mrjob.job import MRJob
class LowestPrice(MRJob):
def mapper(self, _, line):
line_cols = line.split(',')
yield line_cols[1], 1
if __name__ == '__main__':
LowestPrice.run()
最佳答案
你可以为此使用 Pandas
import pandas as pd
data = pd.read_csv('/Users/shrek/Documents/data.csv', header=None)
print(data[2].min())
index = data[data[2]== data[2].min()].index[0]
print(data[1][index]+"in "+data[0][index]+" used in "+data[3][index]+" has lowest price per pound = "+str(data[2].min()))
输出将是:
Vegetablesin Oakland used in Dinner has lowest price per pound = 15.99
关于python - 如何使用Python中的map reduce函数确定值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59042518/