pandas.DataFrame.mode — pandas 0.24.0rc1 documentation (original) (raw)
DataFrame.
mode
(axis=0, numeric_only=False, dropna=True)[source]¶
Get the mode(s) of each element along the selected axis.
The mode of a set of values is the value that appears most often. It can be multiple values.
Parameters: | axis : {0 or ‘index’, 1 or ‘columns’}, default 0 The axis to iterate over while searching for the mode: 0 or ‘index’ : get mode of each column 1 or ‘columns’ : get mode of each row numeric_only : bool, default False If True, only apply to numeric columns. dropna : bool, default True Don’t consider counts of NaN/NaT. New in version 0.24.0. |
---|---|
Returns: | DataFrame The modes of each column or row. |
Examples
df = pd.DataFrame([('bird', 2, 2), ... ('mammal', 4, np.nan), ... ('arthropod', 8, 0), ... ('bird', 2, np.nan)], ... index=('falcon', 'horse', 'spider', 'ostrich'), ... columns=('species', 'legs', 'wings')) df species legs wings falcon bird 2 2.0 horse mammal 4 NaN spider arthropod 8 0.0 ostrich bird 2 NaN
By default, missing values are not considered, and the mode of wings are both 0 and 2. The second row of species and legs contains NaN
, because they have only one mode, but the DataFrame has two rows.
df.mode() species legs wings 0 bird 2.0 0.0 1 NaN NaN 2.0
Setting dropna=False
NaN
values are considered and they can be the mode (like for wings).
df.mode(dropna=False) species legs wings 0 bird 2 NaN
Setting numeric_only=True
, only the mode of numeric columns is computed, and columns of other types are ignored.
df.mode(numeric_only=True) legs wings 0 2.0 0.0 1 NaN 2.0
To compute the mode over columns and not rows, use the axis parameter:
df.mode(axis='columns', numeric_only=True) 0 1 falcon 2.0 NaN horse 4.0 NaN spider 0.0 8.0 ostrich 2.0 NaN