如何根据 python csv 中的多个条件对现有列进行更改
how to make changes to a existing column based on multiple conditions in python csv
所以我正在进行数据处理,我想根据其他列中的条件对名为“temp_coil”的列进行更改。
这是我做的,它给我错误。
df.temp_coil[df.outdoor_temperature < 20 & df.cooling_state == 1 & df.temp_coil == 0] = 4500
如果outdoor_temperature列小于20,cooling_state列为1,temp_coil列本身为0,我希望答案为4500。需要满足所有条件.
当我 运行 它给我的错误是类型和值错误。
如果此问题已得到解答,请告诉我,我找不到符合我的问题的示例。
您必须使用括号,这样事实 table 就不会产生歧义。对于您的示例,正确的代码是:
df.temp_coil[(df.outdoor_temperature < 20) & (df.cooling_state == 1) & (df.temp_coil == 0)] = 4500
或者:
df.temp_coil[df.outdoor_temperature.lt(20) & df.cooling_state.eq(1) & df.temp_coil.eq(0)] = 4500
所以我正在进行数据处理,我想根据其他列中的条件对名为“temp_coil”的列进行更改。
这是我做的,它给我错误。
df.temp_coil[df.outdoor_temperature < 20 & df.cooling_state == 1 & df.temp_coil == 0] = 4500
如果outdoor_temperature列小于20,cooling_state列为1,temp_coil列本身为0,我希望答案为4500。需要满足所有条件.
当我 运行 它给我的错误是类型和值错误。 如果此问题已得到解答,请告诉我,我找不到符合我的问题的示例。
您必须使用括号,这样事实 table 就不会产生歧义。对于您的示例,正确的代码是:
df.temp_coil[(df.outdoor_temperature < 20) & (df.cooling_state == 1) & (df.temp_coil == 0)] = 4500
或者:
df.temp_coil[df.outdoor_temperature.lt(20) & df.cooling_state.eq(1) & df.temp_coil.eq(0)] = 4500