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

如何合并两个形状不同的关联DataFrame并将结果值限定为0和1

实现方法

直接利用Pandas原生的索引对齐特性和向量化运算即可实现,不需要编写遍历逻辑,核心代码如下:

import pandas as pd

# 将ID列设为索引,实现行列自动对齐计算
main_df = main_df.set_index('ID')
sub_df = sub_df.set_index('ID')

# 按索引相加,缺失值补0后将最大值限制为1,最后恢复ID为普通列
result = main_df.add(sub_df, fill_value=0).clip(upper=1).reset_index()

逻辑说明

  • set_index('ID') 后两个DataFrame会自动按ID行、列名对齐做运算,不需要手动匹配关联关系
  • add(fill_value=0) 处理两个表的行、列差集:sub_df不存在的ID(如示例中的03)、sub_df不存在的列(如示例中的A/F/G)相加时默认补0,不会修改main_df原有值
  • clip(upper=1) 直接把所有大于1的数值替换为1,满足输出只能是0/1的要求

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.06 07:09:03