我有一个形状为(1,5,10)的numpy数组。
array([[[ -5, -5, -5, -5, 120, 116, 118, 118, -5, -5],
[ -5, -5, 126, 127, 125, 118, 118, 123, -5, -5],
[ -5, 121, 125, 118, 115, 115, 121, 121, 114, 127],
[112, 118, 108, 111, 110, 112, 104, 102, 103, -5],
[105, 108, 107, -5, -5, -5, -5, -5, -5, -5]]], dtype=int16)
我想把所有的-5都换成np.nan值。为了做到这一点,我写了以下代码:
out_image[out_image == (-5)] = np.nan
但这给了我一个错误:
ValueError:无法将float NaN转换为整数
为什么我会得到这个错误?我如何将值替换为nan?
3条答案
按热度按时间bvjxkvbb1#
你只需要先将它转换为
float
。ig9co6j12#
你可以把
out_image
当作一个pandas.Dataframe
来做。相反,你可以像这样使用numpy.where
方法:wz1wpwve3#