In [5]:
import csv
%precision 2
with open('mpg.csv') as csvfile:
mpg = list(csv.DictReader(csvfile))
mpg[:3] # The first three dictionaries in our list.
Out[5]:
In [6]:
import csv
%precision 2
with open('mpg.csv') as csvfile:
mpg = list(csv.DictReader(csvfile))
mpg[:3]
Out[6]:
In [8]:
len(mpg)
Out[8]:
In [16]:
mpg[0].keys()
Out[16]:
In [61]:
sum(float(d['cty']) for d in mpg)/len(mpg)
Out[61]:
In [62]:
mpg
mpg[0]["cty"]
Out[62]:
In [64]:
sum(float(d["hwy"]) for d in mpg)/len(mpg)
Out[64]:
In [70]:
cylinders = set(d["cyl"] for d in mpg)
cylinders
Out[70]:
In [68]:
cars_types = set(d["manufacturer"] for d in mpg)
cars_types
Out[68]:
In [71]:
cylinders
Out[71]:
In [72]:
models = set(d["model"] for d in mpg)
models
Out[72]:
In [75]:
manufacturers = set(d["manufacturer"] for d in mpg)
manufacturers
Out[75]:
In [79]:
avg_mpg_in_cty = sum(float(d["cty"]) for d in mpg)/len(mpg)
avg_mpg_in_cty
Out[79]:
In [83]:
avg_mpg_in_hwy = sum(float(d["hwy"]) for d in mpg)/len(mpg)
avg_mpg_in_hwy
Out[83]:
In [103]:
%precision 2
def Avg_Mpg():
avg_mpg_in_cty = sum(float(d["cty"]) for d in mpg)/len(mpg)
avg_mpg_in_hwy = sum(float(d["hwy"]) for d in mpg)/len(mpg)
avg_mpg_in_cty
avg_mpg_in_hwy
if avg_mpg_in_cty > avg_mpg_in_hwy:
print("The Avg Mpg in city is greater than in Highways {}".format(float(avg_mpg_in_cty)))
else:
print("The Avg Mpg in Highways is greater than in City {}".format(float(avg_mpg_in_hwy)))
In [105]:
Avg_Mpg()
In [131]:
class_of_vhl = set(d["class"] for d in mpg)
class_of_vhl
len(class_of_vhl)
Out[131]:
In [132]:
HwyMpgByClass = []
for vehicleclass in class_of_vhl:
summpg = 0
vclasscount = 0
for d in mpg:
if vehicleclass == d["class"]:
summpg += float(d['hwy']) # add the hwy mpg
vclasscount += 1 # increment the count
HwyMpgByClass.append({vehicleclass, summpg / vclasscount}) # append the tuple ('class', 'avg mpg')
#HwyMpgByClass.sort(key=lambda x: x[1])
HwyMpgByClass
Out[132]:
In [135]:
vehicleclass = set(d['class'] for d in mpg) # what are the class types
vehicleclass
HwyMpgByClass = []
for t in vehicleclass: # iterate over all the vehicle classes
summpg = 0
vclasscount = 0
for d in mpg: # iterate over all dictionaries
if d['class'] == t: # if the cylinder amount type matches,
summpg += float(d['hwy']) # add the hwy mpg
vclasscount += 1 # increment the count
HwyMpgByClass.append((t, summpg / vclasscount)) # append the tuple ('class', 'avg mpg')
HwyMpgByClass.sort(key=lambda x: x[1])
HwyMpgByClass
Out[135]:
In [136]:
class_vh = set(d["class"] for d in mpg)
class_vh
Out[136]:
In [170]:
HwyMpgByClass = []
for c in class_vh:
summpg=0
vclasscount =0
for d in mpg:
if d["class"] == c:
summpg += float(d["hwy"])
vclasscount += 1 # increment the count
HwyMpgByClass.append((c, summpg / vclasscount))
#print("sum of " + str(summpg))
#print(c + str(vclasscount))
HwyMpgByClass.sort(key=lambda x: x[1])
HwyMpgByClass
Out[170]:
In [149]:
HwyMpgByClass = []
HwyMpgByClass.append((6,8,9))
HwyMpgByClass
Out[149]:
In [150]:
cylinders = set(d['cyl'] for d in mpg)
cylinders
Out[150]:
In [178]:
CtyMpgByCyl =[]
for c in cylinders:
summpg = 0
cyltypecount = 0
for d in mpg:
if d["cyl"] == c:
summpg += float(d["cty"])
cyltypecount += 1
#print(summpg)
#print(cyltypecount)
CtyMpgByCyl.append((c,summpg/cyltypecount))
print(CtyMpgByCyl)
CtyMpgByCyl.sort(key=lambda x: x[0])
CtyMpgByCyl[:]
Out[178]:
In [ ]:
In [ ]: