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

在Pandas中比较多列与指定参考列并计算匹配值的百分比占比

Pandas多列匹配百分比最简实现

核心简化逻辑:Pandas中布尔值默认对应数值1(True)和0(False),直接调用mean()方法即可得到匹配项的占比,无需额外创建临时列、做类型转换或手动计数。

单个列对比写法

你原来的单样本对比可以直接简化为一行代码:

# 直接得到sample1和core的匹配百分比
(df['core'] == df['sample1']).mean() * 100

多列批量对比写法

如果要一次性计算所有待对比样本列的匹配占比,可直接批量操作:

import pandas as pd

# 构造示例数据集
df = pd.DataFrame({
    'core': [1, 1],
    'sample1': [0, 1],
    'sample2': [4, 2]
})

# 指定要对比的列,也可以用df.filter(like='sample').columns动态匹配所有sample开头的列
compare_cols = ['sample1', 'sample2']
# 批量计算匹配百分比
match_result = df[compare_cols].eq(df['core'], axis=0).mean() * 100

print(match_result)

运行输出结果如下:

sample1    50.0
sample2     0.0
dtype: float64

如果需要保留整数百分比,可以在末尾加.round(0).astype(int)调整输出格式。

内容的提问来源于stack exchange,提问作者Jim Jones

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.02 05:39:00