如何在Pandas中满足指定条件时将float类型值转为正数
你需要在abs()中传入你筛选条件匹配到的difference列对应切片即可,修改后的代码如下:
df.loc[df['3_min'] == 0.0, 'difference'] = abs(df.loc[df['3_min'] == 0.0, 'difference'])
该写法只会更新3_min值为0.0的行的difference字段,不会改动其他行的原有数据,性能更优。
如果需要更简洁的写法,也可以通过np.where实现整列逻辑赋值:
import numpy as np df['difference'] = np.where(df['3_min'] == 0.0, df['difference'].abs(), df['difference'])
内容的提问来源于stack exchange,提问作者Alex
相关产品推荐
相关产品推荐

