使用 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
我有一个包含如下数据的 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