import pandas as pd

def resultats(df, regio, d1, d2, resultat):
    df1 = df[(df['Regio sanitaria'] == regio) & (df['data']>=d1) & (df['data']<=d2)]
    total = df1['casos'].sum()
    parcial = df1[df1['resultat covid'] == resultat]['casos'].sum()
    return parcial, total

def casos_agrupament_1(df, agrup, resultat):
    df1 = df[df['resultat covid'] == resultat]
    gb = df1.groupby(agrup)
    a = gb['casos'].sum()
    a.sort_values(inplace = True)
    return a

def casos_agrupament_2(df, agrup, resultat):
    df1 = df[df['resultat covid'] == resultat]
    gb = df1.groupby(agrup)
    a = gb.sum()
    a.sort_values(by = 'casos', inplace = True)
    a = a[['casos']]
    # a és un dataframe: el convertim a Series
    return pd.Series(a['casos'], a.index)

# tria la solució que vulguis provar
#casos_agrupament = casos_agrupament_1
casos_agrupament = casos_agrupament_2

def arees_basiques_1 (df):
    itt = zip(df['ABS'], df['ABS codi'])
    labs = sorted(set(itt))
    return labs

def arees_basiques_2 (df):
    gb = df.groupby(['ABS', 'ABS codi'])
    labs = sorted(gb.groups.keys())
    return labs

def arees_basiques_3(df):
    df_1 = df[['ABS', 'ABS codi']]
    df_2 = df_1.drop_duplicates()
    df_3 = df_2.sort_values('ABS')
    r_1 = zip(df_3['ABS'], df_3['ABS codi'])
    r = list(r_1)
    return r

# tria la solució que vulguis provar
arees_basiques = arees_basiques_1
#arees_basiques = arees_basiques_2
#arees_basiques = arees_basiques_3

