我正尝试如下随机更新数据集
originaldata = pd.read_csv('dataset.csv')
for i in range(10):
timeslot = random.randint(1, 10)
percentage = random.randint(1, 101) / 100 + 1
originaldata.iloc[i][timeslot] *= percentage
但是有趣的是它可以运行,但是数据集永远不会更新。有人可以指出我在这里做错了吗?
答案 0 :(得分:1)
您的熊猫是什么版本的?我用以下代码尝试了pandas 0.23.4
:
In [1]: import pandas as pd
In [2]: import numpy as np
In [3]: df = pd.DataFrame(np.random.randint(10, size=(5, 3)))
因此输入数据帧为:
In [4]: df
Out[4]:
0 1 2
0 5 6 3
1 6 0 9
2 6 3 5
3 7 0 0
4 4 1 9
并且在*=
操作之后:
In [5]: df.iloc[0][1]*=2
In [6]: df
Out[6]:
0 1 2
0 5 12 3
1 6 0 9
2 6 3 5
3 7 0 0
4 4 1 9
我们可以看到元素df[0, 1]
从6
转换为12
。
timeslot
的列名与列号相同时,和@ Wen-Ben的答案可能有效:
originaldata.iloc[i,timeslot] *= percentage