我有一个包含多个列的Dataframe,为简化这个简化版本:
ID geo value
a1 FR 3
a1 ES 7
a1 DE 6
a2 FR 3
a2 ES 5
a2 DE 10
我想修改一些值,我的文件很大,基于某些条件。
理想情况下,我会这样做:
df[(df.ID=='1') & (df.geo=='DE')]['value']=9999
但这不起作用,我猜是因为我获得了原始数据帧的副本而不是数据帧
基于复杂条件更新值的简单方法吗?
答案 0 :(得分:2)
试试这个:
condition = (df.ID=='a1') & (df.geo=='DE')
df.ix[condition, 'value'] = 9999