我有一个熊猫数据框:
df = pd.DataFrame({'AKey':[1, 9999, 1, 1, 9999, 2, 2, 2],\
'AnotherKey':[1, 1, 1, 1, 2, 2, 2, 2]})
我想为特定列分配一个新值,并为该列中具有特定值的每个元素分配一个新值。
假设我想将新值分配给8888
具有 value 的元素9999
。我尝试了以下方法:
df[df["AKey"]==9999]["AKey"]=8888
但它返回以下错误:
A value is trying to be set on a copy of a slice from a DataFrame.
Try using .loc[row_indexer,col_indexer] = value instead
所以我尝试使用loc
df.loc[df["AKey"]==9999]["AKey"]=8888
返回相同的错误。
我会很感激一些帮助和一些关于错误的解释,因为我真的无法理解它。