使用 Pandas 随机修改 CSV 中的条目

Randomly Modify Entries in CSV using Pandas

我有一个包含如下数据的 CSV 文件:

DateTime, product_x, product_y, product_z
2018-01-02 00:00:00,945,1318,17.12
2018-01-03 00:00:00,958,1322,17.25
...

我想使用 Python 和 Pandas 来随机修改 product_x、product_y 和 product_z 的值 - 比如添加一个从 -3 - +3 到每个随机值,然后将结果写回 CSV。

编辑:我需要将每个单元格移动不同的量(随机巧合除外)。

请问我该怎么做?

np.random.randint 与列表中的列名一起使用以生成 2d array 并添加到在同一列表中过滤的原始列:

cols = ['product_x','product_y','product_y']

#dynamic columns names
#cols = df.filter(like='product').columns
df[cols] += np.random.randint(-3, 3, size=(len(df.index), len(cols)))

print (df)
              DateTime  product_x  product_y  product_z
0  2018-01-02 00:00:00        947       1320      17.12
1  2018-01-03 00:00:00        958       1323      17.25