我想用 NaN 替换数据框列中的错误值。
mydata = {'x' : [10, 50, 18, 32, 47, 20], 'y' : ['12', '11', 'N/A', '13', '15', 'N/A']}
df = pd.DataFrame(mydata)
df[df.y == 'N/A']['y'] = np.nan
但是,最后一行失败并引发警告,因为它正在处理 df.那么,处理这个问题的正确方法是什么?我见过很多使用 iloc 或 ix 的解决方案,但在这里,我需要使用布尔条件。
原文由 Mark Morrisson 发布,翻译遵循 CC BY-SA 4.0 许可协议
只需使用
replace
:您正在尝试的称为链索引:http: //pandas.pydata.org/pandas-docs/stable/indexing.html#indexing-view-versus-copy
您可以使用
loc
来确保您在原始 dF 上进行操作: