#%% librerias
import pandas as pd
# Crear un dataFrame
data = {'Company':['GOOG','GOOG','MSFT','MSFT','FB','FB'],
       'Person':['Sam','Charlie','Amy','Vanessa','Carl','Sarah'],
       'Sales':[200,120,340,124,243,350]}

df = pd.DataFrame(data)

df

"""
Explanation: Groupby
El metodo groupby nos permite agrupar informacion y aplicar funciones de agregacion
End of explanation
"""


df.groupby('Company')

"""
Explanation: Ahora ya podemos usar la funcion .groupby() para agrupar la informacion en base a los nombres de las columnas. Agrupemos la informacion por el nombre de la compania. Esto creara un objeto DataFrameGroupBy
End of explanation
"""


by_comp = df.groupby("Company")

"""
Explanation: Este objeto lo podemos guardar como una nueva variable
End of explanation
"""


by_comp.mean()

df.groupby('Company').mean()

"""
Explanation: Y en seguida mandar llamar los metodos de agregacion
End of explanation
"""


by_comp.std()

by_comp.min()

by_comp.max()

by_comp.count()

by_comp.describe()

by_comp.describe().transpose()

by_comp.describe().transpose()['GOOG']

"""
Explanation: Mas ejemplos de funciones
End of explanation
"""


