w3resource

Pandas: Group by the first column and get second column as lists in rows


55. Group by First Column to Get Lists

Write a Pandas program to group by the first column and get second column as lists in rows.

Sample Solution :

Python Code :

import pandas as pd
df = pd.DataFrame( {'col1':['C1','C1','C2','C2','C2','C3','C2'], 'col2':[1,2,3,3,4,6,5]})
print("Original DataFrame")
print(df)
df = df.groupby('col1')['col2'].apply(list)
print("\nGroup on the col1:")
print(df)

Sample Output:

Original DataFrame
  col1  col2
0   C1     1
1   C1     2
2   C2     3
3   C2     3
4   C2     4
5   C3     6
6   C2     5

Group on the col1:
col1
C1          [1, 2]
C2    [3, 3, 4, 5]
C3             [6]
Name: col2, dtype: object       

For more Practice: Solve these Related Problems:

  • Write a Pandas program to group a DataFrame by the first column and aggregate the second column into lists, then sort the lists.
  • Write a Pandas program to group by a categorical column and concatenate the values of another column into comma‐separated strings.
  • Write a Pandas program to group a DataFrame by one column and apply a custom function to list unique values from another column.
  • Write a Pandas program to group by the first column and then count the frequency of each unique list item from the second column.

Go to:


Previous: Write a Pandas program to rename a specific column name in a given DataFrame.
Next: Write a Pandas program to get column index from column name of a given DataFrame.

Python-Pandas Code Editor:

Have another way to solve this solution? Contribute your code (and comments) through Disqus.

What is the difficulty level of this exercise?

Test your Programming skills with w3resource's quiz.



Follow us on Facebook and Twitter for latest update.