编辑:我正在使用Pandas 0.20.3版
我有一个包含Pandas DataFrame的类实例。我想使用.iat
修改DataFrame,但是它没有按预期执行。
这是我期望的,如果我在课外使用DataFrame会发生什么:
df = pd.DataFrame({'a': 0, 'b': 0, 'c': 0}, index=[0])
df.c.iat[0] = 1
df
返回
a b c
0 0 0 1
如您所愿。
但是,如果我改用myclass.df
:
myclass.df = pd.DataFrame({'a': 0, 'b': 0, 'c': 0}, index=[0])
myclass.df.c.iat[0] = 1
myclass.df
返回
a b c
0 0 0 0
更令人困惑的是
print(myclass.df.c.iat[0])
返回1
。因此,这似乎不是复制与查看错误。如果我将.iat
替换为.iloc
,则表明该值设置正确。
这是熊猫中的错误还是我误会了?