To get the number of unique values in a pandas DataFrame or Series, the simplest way is to use the pandas nunique() function.

df["variable"].nunique()

When working with data, it’s important to be able to find the basic descriptive statistics of a set of data.

One basic descriptive statistic which is important is the number of unique values in a dataset.

To get the number of unique values in a DataFrame, we can use the pandas nunique() function.

The following code will get you the count of unique values of a series in Python:

df["variable"].nunique()

If you want to get the number of unique values of an entire DataFrame in pandas, you can call nunique() in the following way:

df.nunique()

Getting the Count of Unique Values of All Columns in DataFrame Using Pandas

Let’s say I have the following pandas DataFrame:

     Name  Weight_Change Month
0     Jim         -16.20     1
1   Sally          12.81     1
2     Bob         -20.45     1
3     Sue          15.35     1
4    Jill         -12.43     1
5   Larry         -18.52     1
6     Jim          -6.10     2   
7   Sally          -2.81     2  
8     Bob          12.45     2
9     Sue          -0.32     2
10   Jill          -1.23     2
11  Larry          -8.52     2
12    Jim           5.20     3 
13  Sally          12.81     3  
14    Bob          -2.45     3
15    Sue           5.35     3
16   Jill          -2.43     3
17  Larry          -1.85     3

We can call the nunique function on the DataFrame to get the number of unique values for all of the columns.

Below shows you how to use nunique() to count the unique values of the columns of a pandas DataFrame.

print(df.nunique())

Name              6
Weight_Change    18
Month             3
dtype: int64

Getting the Count of Unique Values of a Column Using Pandas

Let’s say we only want to get the count of unique values of a single column in a pandas DataFrame.

In the DataFrame above, let’s get the count of unique values for the column “Month”. We should expect 3, respectively.

To get the count of unique values, I can do the following in my python code:

print(df["Month"].nunique())

#Output:
3

If you want to get the count of unique values for multiple columns, you can do the following.

In the DataFrame above, let’s get the count of unique values for the columns “Month” and “Name”. We should expect 3 and 6, respectively.

To get the count of unique values of the two columns, you can do the following in your Python code:

print(df[["Month", "Name"]].nunique())

#Output:
3
6
dtype: int64

Hopefully this article has been useful for you to find the number of unique values in a pandas DataFrame using Python.

Categorized in:

Python,

Last Update: March 20, 2024