如何使用Python Pandas为CSV文件指定字段值添加区间随机偏移量
功能实现方案
完整可运行代码
import pandas as pd import numpy as np # 1. 读取原始CSV文件,skipinitialspace自动去除逗号后多余空格 df = pd.read_csv('你的输入文件路径.csv', skipinitialspace=True) # 可选:固定随机种子,保证每次运行生成的偏移量一致,方便复现 # np.random.seed(42) # 2. 指定需要添加偏移量的目标列 target_cols = ['product_x', 'product_y', 'product_z'] # 3. 生成和目标列维度一致、范围在-3到3的独立随机偏移量 random_offsets = np.random.uniform(low=-3, high=3, size=df[target_cols].shape) # 4. 给目标列添加偏移量 df[target_cols] = df[target_cols] + random_offsets # 5. 将修改后的数据写入新的CSV文件 df.to_csv('你的输出文件路径.csv', index=False)
说明
- 生成随机偏移量时使用均匀分布,每个单元格的偏移值完全独立,仅可能出现概率极低的随机重合
- 若需要保留原始列的数值类型(比如product_x、product_y原为整数),可以在添加偏移量后按需做类型转换,比如
df[['product_x', 'product_y']] = df[['product_x', 'product_y']].round(0).astype(int) - DateTime字段全程不会被修改,和原始文件保持一致
内容的提问来源于stack exchange,提问作者Robin Andrews
相关产品推荐
相关产品推荐

