當前位置: 首頁>>編程示例 >>用法及示例精選 >>正文


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。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。