我有一个大型数据框,不同列中包含 inf、-inf 值。我想用 NaN 替换所有 inf、-inf 值
我可以逐栏这样做。所以这有效:
df['column name'] = df['column name'].replace(np.inf, np.nan)
Run Code Online (Sandbox Code Playgroud)
但我的代码在数据帧中一次性执行此操作却没有。
df.replace([np.inf, -np.inf], np.nan)
Run Code Online (Sandbox Code Playgroud)
输出不会替换 inf 值
我已经查到了这个问题,大多数问题都是针对更复杂的替代品.但是在我的情况下,我有一个非常简单的数据帧作为测试假人.
目的是用nan替换数据框中任何位置的字符串,但这似乎不起作用(即不替换;没有任何错误).我已经尝试用另一个字符串替换它也不起作用.例如
d = {'color' : pd.Series(['white', 'blue', 'orange']),
'second_color': pd.Series(['white', 'black', 'blue']),
'value' : pd.Series([1., 2., 3.])}
df = pd.DataFrame(d)
df.replace('white', np.nan)
Run Code Online (Sandbox Code Playgroud)
输出仍然是:
color second_color value
0 white white 1
1 blue black 2
2 orange blue 3
Run Code Online (Sandbox Code Playgroud)