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

如何在pandas合并DataFrame后生成diff与status两个新列

实现方法

在你已经得到mergedf的基础上,只需要先新增diff和status两列,再提取目标字段即可,有两种常用实现方案:

方案1:pandas原生向量化操作(无需额外导入包,执行效率最高)

# 生成diff列:score与age的差值
mergedf['diff'] = mergedf['score'] - mergedf['age']
# 生成status列:先统一赋值为false,再匹配age等于score的行修改为OK
mergedf['status'] = 'false'
mergedf.loc[mergedf['age'] == mergedf['score'], 'status'] = 'OK'
# 提取目标列得到最终结果
newDF = mergedf[['id','name','score','diff', 'status']]

方案2:numpy where条件判断(写法更简洁)

需要先导入numpy依赖:

import numpy as np

mergedf['diff'] = mergedf['score'] - mergedf['age']
mergedf['status'] = np.where(mergedf['age'] == mergedf['score'], 'OK', 'false')
newDF = mergedf[['id','name','score','diff', 'status']]

最终结果示例

按照你的测试数据运行后,newDF的输出如下:

idnamescorediffstatus
1Joe160OK
2Jane8-9false

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.07 12:06:03