【发布时间】:2018-08-28 15:10:42
【问题描述】:
我想知道是否有人可以帮助我解决我在代码中收到的警告。代码确实对项目进行了正确评分,但是这个警告让我很烦,而且我似乎找不到一个好的解决方法,因为我需要将一些布尔条件串在一起。
背景:假设我有一个神奇的水果标识符,并且我有一个 csv 文件,其中列出了已识别的水果以及在哪个区域(1、2 等)。我在 csv 文件中读取了“FruitID”和“Area”列。区域 1 中“苹果”或“苹果”的识别被评分为正确/正确(其他识别的水果不正确/错误)。我将类似的逻辑应用于其他领域,但我不会深入探讨。
关于如何纠正这个问题的任何想法?我应该使用.loc,尽管我不确定这是否适用于多个布尔值。谢谢!
我的启动 CopyWarning 的代码 sn-p:
Area1_ID_df['Area 1, Score']=(Area1_ID_df['FruitID']=='APPLE')|(Area1_ID_df['FruitID']=='apple')
堆栈跟踪:
SettingWithCopyWarning:
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
【问题讨论】: