
def recompte(df, nomc, dmin, dmax):
    if nomc == '':
        df2 = df[df['Species_Desc'].isna()]
    else:
        df2 = df[df['Species_Desc'] == nomc]
    n1 = len(df2[df2['Trunk'] < dmin])
    n2 = len(df2[(dmin <= df2['Trunk']) & (df2['Trunk'] <= dmax)])
    n3 = len(df2[df2['Trunk'] > dmax])
    return (n1, n2, n3)


def arbres_gruixuts_1(df, gruix):
    df2 = df[df['Trunk'] > gruix]
    gs = df2.groupby('Height')
    s = gs.size()  # alternatives: gs.apply(lambda x:len(x)), gs['Trunk'].count()
    return s.sort_values()

def arbres_gruixuts_2(df, gruix):
    s_gruix = df.loc[df['Trunk'] > gruix, 'Height']
    s_alt = s_gruix.value_counts()
    return s_alt.sort_values()

# tria la solució que vols provar
arbres_gruixuts = arbres_gruixuts_2
