【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,其中包含每列或每行的众数。

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

示例
示例数据:
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:默认参数(按列计算所有类型的众数)
df.mode()

结果:

   A  B  C
0  2  5  y
1  3  5  z

解释:

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

示例 2:只考虑数值类型 (numeric_only=True)
df.mode(numeric_only=True)

结果:

   A  B
0  2  5
1  3  5

解释:

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

示例 3:按行计算众数 (axis=1)
df.mode(axis=1)

结果:

   0
0  1
1  2
2  2
3  3
4  3

解释:

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

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

liuweidong0802

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值