Home > Software engineering >  Create a list of list from pandas dataframe in python with group by
Create a list of list from pandas dataframe in python with group by

Time:10-21

I am beginner in python. I am just wondering, I have this data in a pandas dataframe

type value
A 1
A 4
A 3
B 6
B 2
B 2

where each type will have three value (it can be different value or same value)

and what I want is to create a list of list (or anything, I don't know the exact name since I'm stuck to search the similar question using this vocabulary) but group by type column

expected output is exactly list of list like this:

[[1,4,3],[6,2,2]]

CodePudding user response:

df.groupby('type').agg(pd.Series.tolist)['value'].tolist()

or simply:

df.groupby('type').agg(list)['value'].tolist()

Edit:

It depends on whether which number do you want to sort upon.. in this case, it will sort on the first element of the list which is 1.

If you want to reverse you can simply say k = df.groupby('type').agg(list)['value'].tolist()

k.sort(reverse=True) 

it will give you [[6,2,2], [1,4,3]]. If you want to sort on any of the values of list you have to apply key=some_function() accordingly.

  • Related