我有一个数据框,我只想更改另一列满足特定条件的列的那些值。目前,我正在尝试执行此操作,iloc
但它不起作用或收到了令人讨厌的警告:
试图在DataFrame的切片副本上设置一个值
例:
import pandas as pd
DF = pd.DataFrame({'A':[1,1,2,1,2,2,1,2,1],'B':['a','a','b','c','x','t','i','x','b']})
做其中之一
DF['B'].iloc[:][DF['A'] == 1] = 'X'
DF.iloc[:]['B'][DF['A'] == 1] = 'Y'
可行,但会导致上述警告。
这也发出警告,但不起作用:
DF.iloc[:][DF['A'] == 1]['B'] = 'Z'
我真的对如何使用loc
,iloc
和ix
正确的布尔索引感到困惑,即如何以正确的顺序和正确的语法提供行索引,列索引和AND布尔索引。
有人可以帮我清理一下吗?
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句