import pandas as pd 
import numpy as np 
import matplotlib.pyplot as plt

data = pd.read_csv("python-ml-course-master/datasets/bank/bank.csv", sep=";")
print(data.head(),data.shape)
print(data.columns.values)
data["y"] = (data["y"] == "yes").astype(int)
print(data.head())
print(data["education"].unique())
data["education"] = np.where(data["education"]=="basic.4y","Basic", data["education"])
data["education"] = np.where(data["education"]=="basic.6y","Basic", data["education"])
data["education"] = np.where(data["education"]=="basic.9y","Basic", data["education"])

data["education"] = np.where(data["education"]=="high.school","High School", data["education"])
data["education"] = np.where(data["education"]=="professional.course","Professional Course", data["education"])
data["education"] = np.where(data["education"]=="university.degree","University Degree", data["education"])
data["education"] = np.where(data["education"]=="illiterate","Illiterate", data["education"])
data["education"] = np.where(data["education"]=="unknow","Unknow", data["education"])
print(data["education"].unique())
data["y"].value_counts()
print(data.groupby("y").mean())
print(data.groupby("education").mean())
pd.crosstab(data.education, data.y).plot(kind = "bar")
plt.title("Frecuencia de compra en funcion del nivel de educacion")
plt.xlabel("Nivel de educacion")
plt.ylabel("Frecuencia de compra del producto")
plt.show()
table = pd.crosstab(data.marital, data.y)
table.div(table.sum(1).astype(float), axis = 0).plot(kind="bar", stacked=True)
plt.title("Diagrama apilado de estado civil contra el nivel de compras")
plt.xlabel("Estado Civil")
plt.ylabel("Proporcion de clientes")
plt.show()
table = pd.crosstab(data.day_of_week,data.y)
table.div(table.sum(1).astype(float),axis = 0).plot(kind = "bar", stacked=True)
plt.title("Frecuencia de compra en funcion del dia de la semana")
plt.xlabel("Dia de la semana")
plt.ylabel("Frecuencia de compra del producto")
plt.show()
table = pd.crosstab(data.month,data.y)
table.div(table.sum(1).astype(float),axis = 0).plot(kind = "bar", stacked=True)
plt.title("Frecuencia de compra en funcion del mes del año")
plt.xlabel("Mes del año")
plt.ylabel("Frecuencia de compra del producto")
plt.show()
table = pd.crosstab(data.month,data.y)
table.div(table.sum(1).astype(float),axis = 0).plot(kind = "bar", stacked=False)
plt.title("Frecuencia de compra en funcion del mes del año")
plt.xlabel("Mes del año")
plt.ylabel("Frecuencia de compra del producto")
plt.show()
data.age.hist()
plt.title("Histograma de la edad")
plt.xlabel("Edad")
plt.ylabel("Cliente")
plt.show()
pd.crosstab(data.age, data.y).plot(kind="bar")
plt.show()
pd.crosstab(data.poutcome, data.y).plot(kind = "bar")
plt.show()