### Navigation

- index
- modules |
- next |
- previous |
- pandas 0.13.1 documentation »
- API Reference »

# pandas.crosstab

`pandas.``crosstab`(rows, cols, values=None, rownames=None, colnames=None, aggfunc=None, margins=False, dropna=True)

  Compute a simple cross-tabulation of two (or more) factors. By default computes a frequency table of the factors unless an array of values and an aggregation function are passed

  Parameters : | rows : array-like, Series, or list of arrays/Series Values to group by in the rows cols : array-like, Series, or list of arrays/Series Values to group by in the columns values : array-like, optional Array of values to aggregate according to the factors aggfunc : function, optional If no values array is passed, computes a frequency table rownames : sequence, default None If passed, must match number of row arrays passed colnames : sequence, default None If passed, must match number of column arrays passed margins : boolean, default False Add row/column margins (subtotals) dropna : boolean, default True Do not include columns whose entries are all NaN
  Returns : | crosstab : DataFrame

  Notes

  Any Series passed will have their name attributes used unless row or column names for the cross-tabulation are specified

  Examples

      >>> a
      array([foo, foo, foo, foo, bar, bar,
             bar, bar, foo, foo, foo], dtype=object)
      >>> b
      array([one, one, one, two, one, one,
             one, two, two, two, one], dtype=object)
      >>> c
      array([dull, dull, shiny, dull, dull, shiny,
             shiny, dull, shiny, shiny, shiny], dtype=object)

      >>> crosstab(a, [b, c], rownames=['a'], colnames=['b', 'c'])
      b    one          two
      c    dull  shiny  dull  shiny
      a
      bar  1     2      1     0
      foo  2     2      1     2

### Navigation

- index
- modules |
- next |
- previous |
- pandas 0.13.1 documentation »
- API Reference »