当前位置: 首页>>编程示例 >>用法及示例精选 >>正文


Python pandas.DataFrame.mode用法及代码示例

用法:

DataFrame.mode(axis=0, numeric_only=False, dropna=True)

获取沿选定轴的每个元素的模式。

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

参数

axis{0 或 ‘index’,1 或 ‘columns’},默认 0

搜索模式时要迭代的轴:

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

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

numeric_only布尔值,默认为 False

如果为 True,则仅适用于数字列。

dropna布尔值,默认为真

不要考虑 NaN/NaT 的计数。

返回

DataFrame

每列或每行的模式。

例子

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

要计算列而不是行的模式,请使用轴参数:

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

相关用法


注:本文由纯净天空筛选整理自pandas.pydata.org大神的英文原创作品 pandas.DataFrame.mode。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。