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

如何用Pandas仅为y==1的行的x列添加正态分布噪声?

仅对Pandas中y=1的行的x列添加噪声的解决方案

直接用布尔索引结合loc就能实现你的需求,步骤如下:

  1. 导入依赖库
import pandas as pd
import numpy as np
  1. 构造示例数据(替换成你的实际数据集即可)
data = {'x': [30, 1, 0, 300], 'y': [0, 1, 1, 0]}
df = pd.DataFrame(data)
  1. 生成对应数量的噪声并添加到目标行
# 生成与y=1的行数量匹配的正态分布噪声(均值50,标准差10)
noise = np.random.normal(50, 10, df[df['y'] == 1].shape[0])

# 仅对y=1的行的x列叠加噪声
df.loc[df['y'] == 1, 'x'] += noise

执行后,x列中y=1的行会被加上随机噪声,且自动转为浮点类型,其他行保持原值不变。示例输出如下:

x  y
0  30.000000  0
1  51.234567  1
2  49.876543  1
3 300.000000  0

注:每次运行生成的噪声值都是随机的,所以实际结果中的浮点数值会有所不同。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.20 00:30:57