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.