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

Pandas DataFrame比对:如何将不匹配列名用逗号分隔输出

解决方案

你可以直接修改mismatch_col的生成逻辑,以下提供两种实现方式:

1. 高可读性写法(适合中小数据量)

df3 = df2.copy()
df3['mismatch_col'] = df2.ne(df1, axis=1).apply(
    lambda row: ','.join(row.index[row]),
    axis=1
)

逻辑说明:df2.ne(df1, axis=1) 会生成布尔矩阵,值为True代表对应位置两个表数据不一致。按行遍历布尔矩阵后,筛选出值为True对应的列名,用逗号拼接即可。

2. 高性能写法(适合大数据量,避免行遍历开销)

df3 = df2.copy()
df3['mismatch_col'] = df2.ne(df1, axis=1).dot(df2.columns + ',').str.rstrip(',')

逻辑说明:给每个列名后缀添加逗号后再用矩阵乘法拼接,最后去掉末尾多余的逗号,性能远高于按行apply。

两种写法运行后都可以得到你预期的逗号分隔的不匹配列名结果。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.25 00:15:02