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.
Python-Pandas Code Editor:
Have another way to solve this solution? Contribute your code (and comments) through Disqus.
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.
What is the difficulty level of this exercise?
Test your Programming skills with w3resource's quiz.