做奇异值分解时,加上 if th.isnan(M).any(): M = th.nan_to_num(M)这段代码还是报错,提示不能为Nan
时间: 2024-06-03 18:07:40 浏览: 158
奇异值分解算法代码
值进行奇异值分解。可能是因为数据中存在非数值的NaN值,需要先将它们转换成0或其他数值再进行奇异值分解。你可以尝试使用其他函数进行NaN值的处理,比如:
1. M = np.nan_to_num(M)
2. M = np.where(np.isnan(M), 0, M)
3. M[np.isnan(M)] = 0
其中,np.nan_to_num()函数将数组中的NaN值替换成0,np.where()函数将数组中的NaN值替换成指定的值,M[np.isnan(M)] = 0将数组中的NaN值直接替换成0。你可以根据自己的需要选择合适的函数进行NaN值的处理。
阅读全文