如何使用Python上的For循环更改变量中的数字?

2024-04-18 13:56:18 发布

您现在位置:Python中文网/ 问答频道 /正文

我有这样一个熊猫数据框:

id  target
0   0.5595
1   0.9642
2   0.6225
3   0.1256
4   0.1966

例如,如果目标变量中的数字大于0.5,我想添加0.2并更改该数字

我该怎么做


1条回答
网友
1楼 · 发布于 2024-04-18 13:56:18

这里no loops是必要的,因为存在向量化的备选方案

使用^{}是最简单的方法:

df.loc[df.target.gt(0.5), 'target'] += 0.2 

这与:

df.loc[df.target.gt(0.5), 'target'] = df.loc[df.target.gt(0.5), 'target'] + 0.2 

也可以使用^{}

df.target = np.where(df.target.gt(0.5), df.target + 0.2, df.target)

顺便说一句,不推荐的解决方案是:

df.target = [x + 0.2 if x > 0.5 else x for x in df.target]

相关问题 更多 >