【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 的众数是 2 和 3(各出现两次)
  • 列 B 的众数是 5(出现三次)
  • 列 C 的众数是 y 和 z(各出现两次)

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

结果:

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

解释:

  • 忽略非数值列 C,只显示 A 和 B 的众数

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

结果:

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

解释:

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

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

相关推荐
计算机编程指导师12 分钟前
大数据毕业设计推荐:Hadoop+Django全球碳排放减排策略分析与可视化系统源码 毕业设计 选题推荐 毕设选题 数据分析 机器学习
大数据·hadoop·python·数据分析·spark·毕业设计·碳排放
计算机编程指导师30 分钟前
Python大数据毕设怎么做?基于Hadoop+Spark的高频电力消耗数据可视化与分析系统源码 毕业设计 选题推荐 毕设选题 数据分析 机器学习
大数据·hadoop·python·spark·毕业设计·课程设计·电力
kimnoic37 分钟前
Python 爬虫的原理
开发语言·python
Fluxproxy41 分钟前
Python爬虫异步提速终极方案|线程池ThreadPoolExecutor实战,告别单线程慢速爬取
开发语言·爬虫·python
蜗牛互联网41 分钟前
Java标准HTTP调用多模态模型的票据抽取前置校验
java·人工智能·python·http
总要学点什么43 分钟前
第51篇:数据分析-热力图——笔刷画的是圆,落到地上却成了椭圆
3d·数据挖掘·数据分析·前端框架·gis·webgl·cesium
用户019027581611 小时前
AlphaFeed K 线的 OHLCV 字段怎么理解?(含单位)
python
高级程序源1 小时前
SSM仓储管理系统31582-计算机课程设计、毕业设计
vue.js·python·mysql·小程序·flask·课程设计
工具派1 小时前
Agent 不是玄学:用 Java 状态机思维理解 LangGraph
java·人工智能·python
Patrick在香港1 小时前
pandas 读 CSV 不报错 ≠ 读对了:四个默认参数翻车实测
pandas·数据清洗·数据类型·实测·read_csv