我想将Pandas
DataFrame
大于任意数字(在本例中为 100)的值替换为NaN
(因为这么大的值表示实验失败)。以前我用它来替换不需要的值:
sve2_all[sve2_all[' Hgtot ng/l'] > 100] = np.nan
但是,我收到以下错误:
-c:3: SettingWithCopyWarning: A value is trying to be set on a copy of a slice from a DataFrame.
Try using .loc[row_index,col_indexer] = value instead
C:\Users\AppData\Local\Enthought\Canopy32\User\lib\site-packages\pandas\core\indexing.py:346: SettingWithCopyWarning: A value is trying to be set on a copy of a slice from a DataFrame.
Try using .loc[row_index,col_indexer] = value instead
self.obj[item] = s
从这个 StackExchange question看来,有时可以忽略此警告,但我无法很好地遵循讨论以确定这是否适用于我的情况。警告基本上是让我知道我将覆盖 my 中的一些值DataFrame
吗?
编辑:据我所知,一切正常。作为后续,我替换值的方法是非标准的吗?有没有更好的方法来替换值?