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

如何为CSV除最后一列外的数值随机添加[0.1,0.12]范围的随机噪声

实现代码
import pandas as pd
import random

df = pd.read_csv("./data/raw.csv")
# 生成5个指定范围的噪声值池
noise_pool = [random.uniform(0.1, 0.12) for _ in range(5)]
# 为每行随机分配噪声池中的一个噪声值
row_noise = [random.choice(noise_pool) for _ in range(len(df))]
# 仅对除最后一列外的所有列添加对应行的噪声,保留7位小数
df.iloc[:, :-1] = df.iloc[:, :-1].add(row_noise, axis=0).round(7)
# 输出加噪后的新CSV文件
df.to_csv("./data/new.csv", index=False)

逻辑说明

  • 先按需求生成包含5个[0.1,0.12]区间随机值的噪声池
  • 遍历所有数据行,为每行随机从噪声池中抽取一个噪声值,确保所有噪声都从你生成的5个值里选取
  • 利用pandas的按行广播机制,同一行所有非最后一列的数值统一加上分配到的噪声,精度保留7位小数
  • 最后一列class全程不参与计算,保持原有取值不变

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.26 07:15:07