dask.dataframe.DataFrame.mode

dask.dataframe.DataFrame.mode

DataFrame.mode(dropna=True, split_every=False, numeric_only=False)[源代码]

获取所选轴上每个元素的模式。

此文档字符串是从 pandas.core.frame.DataFrame.mode 复制的。

Dask 版本可能存在一些不一致性。

一组值的众数是出现次数最多的值。它可以是多个值。

参数
{0 或 ‘index’, 1 或 ‘columns’}, 默认 0 (在 Dask 中不支持)

在搜索众数时迭代的轴:

  • 0 或 ‘index’ : 获取每一列的模式

  • 1 或 ‘columns’ : 获取每一行的模式。

仅数值bool, 默认 False

如果为 True,则仅应用于数值列。

dropnabool, 默认 True

不考虑 NaN/NaT 的计数。

返回
DataFrame

每一列或行的模式。

参见

Series.mode

返回Series中频率最高的值。

Series.value_counts

返回 Series 中值的计数。

示例

>>> 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

默认情况下,缺失值不被考虑,翅膀的模式是0和2。由于生成的DataFrame有两行,specieslegs 的第二行包含 NaN

>>> df.mode()  
  species  legs  wings
0    bird   2.0    0.0
1     NaN   NaN    2.0

设置 dropna=False 时,NaN 值会被考虑,并且它们可以是众数(例如在机翼中)。

>>> df.mode(dropna=False)  
  species  legs  wings
0    bird     2    NaN

设置 numeric_only=True,仅计算数值列的模式,并忽略其他类型的列。

>>> df.mode(numeric_only=True)  
   legs  wings
0   2.0    0.0
1   NaN    2.0

要计算列而不是行的众数,请使用 axis 参数:

>>> 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