我正在对4个非常大的数组进行PCA计算。这些数组包括NaN个单元。为了使PCA工作,我必须将数组重新整形为向量(一维而不是二维)并且我删除所有NaN单元格,这改变了向量的长度。PCA返回4个新向量,我需要将这些向量重新整形为与原始数组完全相同的维度,并且每个像元都返回到其原始值索引。
数组中的NaN单元格没有任何特定的顺序,它们是随机的。我尝试使用arr.reforme(arr.shape [0]* arr.shape [1],1)来创建具有NaN值的向量。
保存NaN值的索引,然后删除它们并对向量运行PCA,插入NaN值并将它们再次整形为原始数组的形状
- 数组的维数都相等(23292,9120)
由于数组的大小,迭代保存NaN索引并将其插入PCA之后需要花费太长的时间
如果有人对如何恢复阵列有更好的了解,我将不胜感激谢谢
1条答案
按热度按时间jum4pzuy1#
我会使用遮罩图像来完成此操作。例如: