def unique(x, dropna = False):
    if dropna == True: x = notnull(x)
    if type(x) == pd.Series: return list(x.unique())
    elif type(x) == pd.DataFrame: return {col:list(x[col].unique()) for col in columns(x)}
    else:
        u = []
        for a in x:
            if dropna == True: 
                if a not in u and a!=np.nan: u.append(a)
            else: 
                if a not in u: u.append(a)
        del a
        return u