Starting from this dataframe df:
df = pd.DataFrame({'c':[1,1,1,2,2,2],'l1':['a','a','b','c','c','b'],'l2':['b','d','d','f','e','f']}) c l1 l2 0 1 a b 1 1 a d 2 1 b d 3 2 c f 4 2 c e 5 2 b f I would like to perform a groupby over the c column to get unique values of the l1 and l2 columns. For one columns I can do:
g = df.groupby('c')['l1'].unique() that correctly returns:
c 1 [a, b] 2 [c, b] Name: l1, dtype: object but using:
g = df.groupby('c')['l1','l2'].unique() returns:
AttributeError: 'DataFrameGroupBy' object has no attribute 'unique' I know I can get the unique values for the two columns with (among others):
In [12]: np.unique(df[['l1','l2']]) Out[12]: array(['a', 'b', 'c', 'd', 'e', 'f'], dtype=object) Is there a way to apply this method to the groupby in order to get something like:
c 1 [a, b, d] 2 [c, b, e, f] Name: l1, dtype: object