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

基于conflict列结果为Pandas DataFrame创建Overlap Status新列

实现方法

你可以通过以下3种常用的向量化操作完成需求,所有方法都会保留dfResults的原有列,仅新增目标字段:

方法1:使用numpy.where(推荐,大数据量下效率最高)

import numpy as np
# conflict列为布尔类型,可直接作为判断条件
dfResults['Overlap Status'] = np.where(dfResults['conflict'], 'Overlapped', 'Did not Overlap')

方法2:使用pandas.Series.map(适合映射逻辑后续可能扩展的场景)

status_map = {
    True: 'Overlapped',
    False: 'Did not Overlap'
}
dfResults['Overlap Status'] = dfResults['conflict'].map(status_map)

方法3:使用apply(适合小数据量、逻辑复杂度高的场景)

dfResults['Overlap Status'] = dfResults['conflict'].apply(lambda x: 'Overlapped' if x else 'Did not Overlap')

如果你之前的赋值代码报错或结果不符合预期,通常是因为使用了逐行循环赋值、或者切片操作时触发了pandas的SettingWithCopy警告,使用上述向量化操作可以直接规避这类问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.30 10:15:03