w3resource

Pandas: Split the specified dataframe into groups and count unique values of 'value' column

Pandas Grouping and Aggregating: Split-Apply-Combine Exercise-15 with Solution

Write a Pandas program to split the following dataframe into groups and count unique values of 'value' column.

Test Data:

   id value
0   1     a
1   1     a
2   2     b
3   3  None
4   3     a
5   4     a
6   4  None
7   4     b

Sample Solution:

Python Code :

import pandas as pd
df = pd.DataFrame({
    'id': [1, 1, 2, 3, 3, 4, 4, 4],
    'value': ['a', 'a', 'b', None, 'a', 'a', None, 'b']
})
print("Original DataFrame:")
print(df)
print("Count unique values:")
print (df.groupby('value')['id'].nunique())

Sample Output:

Original DataFrame:
   id value
0   1     a
1   1     a
2   2     b
3   3  None
4   3     a
5   4     a
6   4  None
7   4     b
Count unique values:
value
a    3
b    2
Name: id, dtype: int64

Python Code Editor:


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

Previous: Write a Pandas program to split the following dataframe into groups based on all columns and calculate Groupby value counts on the dataframe.
Next: Write a Pandas program to split a given dataframe into groups and list all the keys from the GroupBy object.

What is the difficulty level of this exercise?

Test your Python skills with w3resource's quiz



Python: Tips of the Day

Negative Indexing:

In Python you can use negative indexing. While positive index starts with 0, negative index starts with -1.

name="Welcome"
print(name[0])
print(name[-1])
print(name[0:3])
print(name[-1:-4:-1])

Output:

W
e
Wel
emo