給定一個矩陣
matrix = np.array([[1,2,3],[1,np.nan,3],[np.nan,np.nan,np.nan]])
獲取包含每行最小值的向量
vector_of_min_row_values = np.nanmin(matrix, axis=1)
如何用該行的最小值替換每行中的 NaN 值。這應該創建一個像這樣的矩陣:
output_matrix = np.array([[1,2,3],[1,1,3],[np.nan,np.nan,np.nan]])
uj5u.com熱心網友回復:
您可以使用numpy.where和重塑numpy.nanmin輸出:
output_matrix = np.where(np.isnan(matrix), np.nanmin(matrix, 1)[:,None], matrix)
輸出:
array([[ 1., 2., 3.],
[ 1., 1., 3.],
[nan, nan, nan]])
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/436253.html
