by.SeriesGroupBy.rolling ](pandas.core.groupby.SeriesGroupBy.rolling.html)
    * [ pandas.core.groupby.SeriesGroupBy.sample ](pandas.core.groupby.SeriesGroupBy.sample.html)
    * [ pandas.core.groupby.SeriesGroupBy.sem ](pandas.core.groupby.SeriesGroupBy.sem.html)
    * [ pandas.core.groupby.SeriesGroupBy.shift ](pandas.core.groupby.SeriesGroupBy.shift.html)
    * [ pandas.core.groupby.SeriesGroupBy.size ](pandas.core.groupby.SeriesGroupBy.size.html)
    * [ pandas.core.groupby.SeriesGroupBy.skew ](pandas.core.groupby.SeriesGroupBy.skew.html)
    * [ pandas.core.groupby.SeriesGroupBy.std ](pandas.core.groupby.SeriesGroupBy.std.html)
    * [ pandas.core.groupby.SeriesGroupBy.sum ](pandas.core.groupby.SeriesGroupBy.sum.html)
    * [ pandas.core.groupby.SeriesGroupBy.var ](pandas.core.groupby.SeriesGroupBy.var.html)
    * [ pandas.core.groupby.SeriesGroupBy.tail ](pandas.core.groupby.SeriesGroupBy.tail.html)
    * [ pandas.core.groupby.SeriesGroupBy.take ](pandas.core.groupby.SeriesGroupBy.take.html)
    * [ pandas.core.groupby.SeriesGroupBy.value_counts ](pandas.core.groupby.SeriesGroupBy.value_counts.html)
    * [ pandas.core.groupby.DataFrameGroupBy.boxplot ](pandas.core.groupby.DataFrameGroupBy.boxplot.html)
    * [ pandas.core.groupby.DataFrameGroupBy.hist ](pandas.core.groupby.DataFrameGroupBy.hist.html)
    * [ pandas.core.groupby.SeriesGroupBy.hist ](pandas.core.groupby.SeriesGroupBy.hist.html)
    * [ pandas.core.groupby.DataFrameGroupBy.plot ](pandas.core.groupby.DataFrameGroupBy.plot.html)
    * [ pandas.core.groupby.SeriesGroupBy.plot ](pandas.core.groupby.SeriesGroupBy.plot.html)
  * [ Resampling ](../resampling.html)
  * [ Style ](../style.html)
  * [ Plotting ](../plotting.html)
  * [ Options and settings ](../options.html)
  * [ Extensions ](../extensions.html)
  * [ Testing ](../testing.html)
  * [ Missing values ](../missing_value.html)

  * [ __ ](../../index.html)
  * [ API reference ](../index.html)
  * [ GroupBy ](../groupby.html)
  * pandas.core.... 

#  pandas.core.groupby.DataFrameGroupBy.nunique  #

DataFrameGroupBy.  nunique  (  _ dropna  =  True  _ )  [ [source]
](https://github.com/pandas-
dev/pandas/blob/v2.2.2/pandas/core/groupby/generic.py#L2046-L2097) #

    

Return DataFrame with counts of unique elements in each position.

Parameters  :

    

**dropna** bool, default True

    

Donât include NaN in the counts.

Returns  :

    

nunique: DataFrame

    

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
    

[ __ previous  pandas.core.groupby.DataFrameGroupBy.nth
](pandas.core.groupby.DataFrameGroupBy.nth.html "previous page") [ next
pandas.core.groupby.DataFrameGroupBy.ohlc  __
](pandas.core.groupby.DataFrameGroupBy.ohlc.html "next page")

__ On this page

  * ` DataFrameGroupBy.nunique()  `

[ __ Show Source
](../../_sources/reference/api/pandas.core.groupby.DataFrameGroupBy.nunique.rst.txt)

© 2024, pandas via [ NumFOCUS, Inc. ](https://numfocus.org) Hosted by [
OVHcloud ](https://www.ovhcloud.com) .

Created using [ Sphinx ](https://www.sphinx-doc.org/) 7.2.6.  

Built with the [ PyData Sphinx Theme ](https://pydata-sphinx-
theme.readthedocs.io/en/stable/index.html) 0.14.4.