对于数组
array2 = np.array([np.nan, np.nan, np.nan, np.nan, 45, np.nan, 33, np.nan,
np.nan, 32, np.nan, np.nan, 44, np.nan, 10, 53, np.nan])
我需要按条件替换元素:如果一个元素小于 np.mean(array2),则应取自ordered_array_1 = [32, 10, 33]
,否则 - 从ordered_array_2 = [44, 53, 45]
.
我还没有设法使用 np.putmask 或 numpy.where 来达到此目的,例如np.putmask(array2[~np.isnan(array2)],mask,ordered1)
根本不替换元素。 array2 不变。
我期望从两个数组替换后得到这个结果:
array2 = np.array([np.nan, np.nan, np.nan, np.nan, 44, np.nan, 32, np.nan,
np.nan, 10, np.nan, np.nan, 53, np.nan, 33, 45, np.nan])