pandas.core.groupby.DataFrameGroupBy.nunique#
- 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.
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