import csv, statistics

f = open("all-icecream.csv", "r")
data = list(csv.reader(f))
print(data)

###

def getFlavorCounts(data, flavor):
    counts = []
    firstIndex = data[0].index("#1 category")
    for i in range(1, len(data)):
        line = data[i]
        count = line[firstIndex:firstIndex+3].count(flavor)
        counts.append(count)
    return counts

flavorCounts = getFlavorCounts(data, "coffee/tea")
print("Mean:", statistics.mean(flavorCounts))

###

# prob flavorA is #2 favorite GIVEN THAT flavorB is #1 favorite
def getCondProb(data, flavorA, flavorB):
    sublist = []
    firstIndex = data[0].index("#1 category")
    for i in range(1, len(data)):
        if data[i][firstIndex] == flavorB:
            sublist.append(data[i][firstIndex+1])
    return sublist.count(flavorA) / len(sublist)

prob = getCondProb(data, "coffee/tea", "chocolate")
print(prob)

###

import matplotlib.pyplot as plt

plt.title("Sample")
x = [2, 4, 5, 7, 7, 9]
y = [3, 5, 4, 6, 9, 7]
plt.scatter(x, y)

plt.show()

###

counts = []
flavors = []
allFlavors = []
firstIndex = data[0].index("#1 category")
for i in range(1, len(data)):
    category = data[i][firstIndex]
    allFlavors.append(category)
    if category not in flavors:
        flavors.append(category)   

for f in flavors:
    count = allFlavors.count(f)
    counts.append(count)

plt.pie(counts, labels=flavors)
plt.show()