You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在pandas中计算多列的行级众数(横向模式)

计算Pandas数据框每行的众数

输入数据示例

Column AColumn BColumn CColumn D
catcatcatdog
dogdogcatdog
birdcatcatdog
birdbirdcatdog

实现代码

首先构建示例数据:

import pandas as pd

data = {
    'Column A': ['cat', 'dog', 'bird', 'bird'],
    'Column B': ['cat', 'dog', 'cat', 'bird'],
    'Column C': ['cat', 'cat', 'cat', 'cat'],
    'Column D': ['dog', 'dog', 'dog', 'dog']
}
df = pd.DataFrame(data)

然后添加每行的众数列:

# 按行计算众数,取第一个众数(兼容多众数场景)
df['Mode'] = df.apply(lambda row: row.mode()[0], axis=1)

输出结果

Column AColumn BColumn CColumn DMode
catcatcatdogcat
dogdogcatdogdog
birdcatcatdogcat
birdbirdcatdogbird

关键说明

  • axis=1 参数指定按行执行计算,默认axis=0是按列统计
  • row.mode() 返回该行的众数结果,若存在多个众数会返回一组值,[0] 用于提取第一个众数以输出单个值
  • 如果业务需要保留所有众数,可去掉[0],此时Mode列会存储列表类型的结果

内容的提问来源于stack exchange,提问作者Aadhil Imam

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.04 02:20:25