作为具有数组的操作中的另一个的替换值,或者如何在数组内搜索并将值替换为另一个
例如:
array ([[NaN, 1., 1., 1., 1., 1., 1.]
[1., NaN, 1., 1., 1., 1., 1.]
[1., 1., NaN, 1., 1., 1., 1.]
[1., 1., 1., NaN, 1., 1., 1.]
[1., 1., 1., 1., NaN, 1., 1.]
[1., 1., 1., 1., 1., NaN, 1.]
[1., 1., 1., 1., 1., 1., NaN]])
Run Code Online (Sandbox Code Playgroud)
在哪里它可以取代NaN 0.感谢任何回应
unu*_*tbu 31
你可以这样做:
import numpy as np
x=np.array([[np.NaN, 1., 1., 1., 1., 1., 1.],[1., np.NaN, 1., 1., 1., 1., 1.],[1., 1., np.NaN, 1., 1., 1., 1.], [1., 1., 1., np.NaN, 1., 1., 1.], [1., 1., 1., 1., np.NaN, 1., 1.],[1., 1., 1., 1., 1., np.NaN, 1.], [1., 1., 1., 1., 1., 1., np.NaN]])
x[np.isnan(x)]=0
Run Code Online (Sandbox Code Playgroud)
np.isnan(x)返回一个布尔值阵列,其是True无论x是NaN.
x[ boolean_array ] = 0使用花式索引在布尔数组所在的位置赋值0 True.
有关精美索引的详细介绍等等,另请参阅numpybook.
小智 14
这些天有特殊的功能:
a = numpy.nan_to_num(a)
Run Code Online (Sandbox Code Playgroud)