熊猫DataFrame无法更新

时间:2019-05-06 03:13:36

标签: python pandas dataframe updates

我正尝试如下随机更新数据集

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

但是有趣的是它可以运行,但是数据集永远不会更新。有人可以指出我在这里做错了吗?

1 个答案:

答案 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