pandas.core.groupby.DataFrameGroupBy.nunique — pandas 3.0.0.dev0+2098.g9c5b9ee823 documentation (original) (raw)

DataFrameGroupBy.nunique(dropna=True)[source]#

Return DataFrame with counts of unique elements in each position.

Parameters:

dropnabool, default True

Don’t include NaN in the counts.

Returns:

nunique: DataFrame

Counts of unique elements in each position.

See also

DataFrame.nunique

Count number of distinct elements in specified axis.

Examples

df = pd.DataFrame( ... { ... "id": ["spam", "egg", "egg", "spam", "ham", "ham"], ... "value1": [1, 5, 5, 2, 5, 5], ... "value2": list("abbaxy"), ... } ... ) df id value1 value2 0 spam 1 a 1 egg 5 b 2 egg 5 b 3 spam 2 a 4 ham 5 x 5 ham 5 y

df.groupby("id").nunique() value1 value2 id egg 1 1 ham 1 2 spam 2 1

Check for rows with the same id but conflicting values:

df.groupby("id").filter(lambda g: (g.nunique() > 1).any()) id value1 value2 0 spam 1 a 3 spam 2 a 4 ham 5 x 5 ham 5 y