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

Python pandas条件赋值时新列值被识别为列名问题如何解决

问题解决指南

代码错误原因

  • loc方法的第二个参数需要传入目标列的列名字符串,你传入了data['New_Probability']整列Series对象,pandas会把Series中的值识别为要操作的列名,才会出现值被误当成列名的异常。
  • 你原有的偶数判断逻辑如果是针对「概率值乘以10后为偶数」的场景(比如判断概率值十分位是否为偶数)是正确的,不需要修改;如果你实际要判断的是概率值本身为整数偶数,可以把判断条件改为data['Probability'] % 2 == 0。

修正后的实现方式

方法1:修改原有loc写法

# 初始化新列
data['New_Probability'] = data['Probability']
# 第二个参数传入列名字符串
data.loc[data['Probability'] * 10 % 2 == 0, 'New_Probability'] = data['Probability'] + 0.1

方法2:更简洁的np.where一行实现

import numpy as np
data['New_Probability'] = np.where(
    data['Probability'] * 10 % 2 == 0,
    data['Probability'] + 0.1,
    data['Probability']
)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.05 02:12:00