【Pandas】pandas DataFrame mode

Pandas2.2 DataFrame

Computations descriptive stats

方法 描述
DataFrame.abs() 用于返回 DataFrame 中每个元素的绝对值
DataFrame.all([axis, bool_only, skipna]) 用于判断 DataFrame 中是否所有元素在指定轴上都为 True
DataFrame.any(*[, axis, bool_only, skipna]) 用于判断 DataFrame 中是否至少有一个元素在指定轴上为 True
DataFrame.clip([lower, upper, axis, inplace]) 用于截断(限制)DataFrame 中的数值
DataFrame.corr([method, min_periods, ...]) 用于计算 DataFrame 中各列之间的相关系数矩阵(Correlation Matrix)
DataFrame.corrwith(other[, axis, drop, ...]) 用于计算当前 DataFrame 的每一列(或行)与另一个 Series 或 DataFrame 中对应列的相关系数
DataFrame.count([axis, numeric_only]) 用于统计 DataFrame 中每列或每行的非空(非 NaN)元素数量
DataFrame.cov([min_periods, ddof, numeric_only]) 用于计算 DataFrame 中每对列之间的协方差
DataFrame.cummax([axis, skipna]) 用于计算 DataFrame 中每列或每行的累计最大值(cumulative maximum)
DataFrame.cummin([axis, skipna]) 用于计算 DataFrame 中每列或每行的累计最小值(cumulative minimum)
DataFrame.cumprod([axis, skipna]) 用于计算 DataFrame 中每列或每行的累计乘积(cumulative product)
DataFrame.cumsum([axis, skipna]) 用于计算 DataFrame 中每列或每行的累计和(cumulative sum)
DataFrame.describe([percentiles, include, ...]) 用于快速生成数据集的统计摘要(summary statistics)
DataFrame.diff([periods, axis]) 用于计算 DataFrame 中相邻行或列之间的差值(差分)
DataFrame.eval(expr, *[, inplace]) 用于在 DataFrame 上下文中高效地执行字符串形式的表达式运算
DataFrame.kurt([axis, skipna, numeric_only]) 用于计算 DataFrame 中每列或每行的峰度(Kurtosis)
DataFrame.kurtosis([axis, skipna, numeric_only]) 用于计算 DataFrame 中每列或每行的峰度(Kurtosis)
DataFrame.max([axis, skipna, numeric_only]) 用于计算 DataFrame 中每列或每行的最大值(maximum)
DataFrame.mean([axis, skipna, numeric_only]) 用于计算 DataFrame 中每列或每行的平均值(mean)
DataFrame.median([axis, skipna, numeric_only]) 用于计算 DataFrame 中每列或每行的中位数(median)
DataFrame.min([axis, skipna, numeric_only]) 用于计算 DataFrame 中每列或每行的最小值(minimum)
DataFrame.mode([axis, numeric_only, dropna]) 用于查找 众数(出现频率最高的值) 的方法

pandas.DataFrame.mode()

pandas.DataFrame.mode() 是 Pandas 中用于查找 众数(出现频率最高的值) 的方法。它返回一个 DataFrame,其中包含每列或每行的众数。

语法
python 复制代码
DataFrame.mode(axis=0, numeric_only=False, dropna=True)
参数说明
参数 类型 默认值 描述
axis int 或 str 0 定义计算方向: - 0'index':按列计算众数 - 1'columns':按行计算众数
numeric_only bool False 是否仅考虑数值类型(如 int、float),忽略字符串、对象等
dropna bool True 是否在计算前删除 NaN 值
返回值
  • 返回一个新的 DataFrame,每一列/行中包含该列/行的所有众数。
  • 如果某列有多个众数,则会以多行形式展示。

示例
示例数据:
python 复制代码
import pandas as pd

df = pd.DataFrame({
    'A': [1, 2, 2, 3, 3],
    'B': [4, 5, 5, 5, 6],
    'C': ['x', 'y', 'y', 'z', 'z']
})

输出原始数据:

复制代码
   A  B  C
0  1  4  x
1  2  5  y
2  2  5  y
3  3  5  z
4  3  6  z

示例 1:默认参数(按列计算所有类型的众数)
python 复制代码
df.mode()

结果:

复制代码
   A  B  C
0  2  5  y
1  3  5  z

解释:

  • 列 A 的众数是 23(各出现两次)
  • 列 B 的众数是 5(出现三次)
  • 列 C 的众数是 yz(各出现两次)

示例 2:只考虑数值类型 (numeric_only=True)
python 复制代码
df.mode(numeric_only=True)

结果:

复制代码
   A  B
0  2  5
1  3  5

解释:

  • 忽略非数值列 C,只显示 AB 的众数

示例 3:按行计算众数 (axis=1)
python 复制代码
df.mode(axis=1)

结果:

复制代码
   0
0  1
1  2
2  2
3  3
4  3

解释:

  • 每一行的众数(这里每行只有一个众数)

注意事项
  • 若某列/行没有重复值,将返回空值或原始数据中第一个值。
  • 支持处理 NaN 值(通过 dropna 控制是否排除)。
  • 当存在多个众数时,会全部列出(作为多行)。

相关推荐
合作小小程序员小小店10 小时前
web网页开发,在线%推荐算法学院培养计划,图书推荐,基于Python,FlaskWeb,用户和物品推荐MySql
python·mysql·算法·flask·推荐算法
那我掉的头发算什么11 小时前
【数据结构】二叉树的高频热门面试题大全
java·开发语言·数据结构·python·算法·链表·intellij idea
yzx99101311 小时前
多模态分类:图文结合的智能识别与代码实战
人工智能·分类·数据挖掘
飞翔的佩奇11 小时前
【完整源码+数据集+部署教程】 小麦病害分割系统: yolov8-seg-dyhead
python·yolo·计算机视觉·数据集·yolov8·小麦病害分割系统
小蕾Java11 小时前
PyCharm2025.2 大更新,AI是亮点!
人工智能·python
忆~遂愿12 小时前
谷歌云+Apache Airflow,数据处理自动化的强力武器
人工智能·python·深度学习·opencv·自动化·apache
李小白6612 小时前
python 函数
开发语言·python
没书读了13 小时前
考研复习-线性代数强化-向量组和方程组特征值
python·线性代数·机器学习
做运维的阿瑞14 小时前
Python核心架构深度解析:从解释器原理到GIL机制全面剖析
开发语言·python·架构·系统架构
AI数据皮皮侠16 小时前
中国上市公司数据(2000-2023年)
大数据·人工智能·python·深度学习·机器学习