我有一个数据集,该数据集位于大小为25000 x 13的2维numpy数组中。该数组的25 x 7中有数字,其余为nan。如何删除所有Nans?我尝试过:
test[~np.isnan(test)]
将“ test”作为我的数组,并分别进行了尝试(我相信它们是相同的)
test[np.logical_not(np.isnan(test))]
在执行该操作后,两者均将25 x 7阵列放入175 x 1阵列。
提前谢谢
答案 0 :(得分:1)
使用布尔蒙版在正确的轨道上,但是结果必须是一维的,因为多维数组的子集的形状定义不明确,因此会自动使其变平。幸运的是,它将以可预测的方式使其变平。因此,您只需要再次使其成为2d数组即可。
test[~np.isnan(test)].reshape((25,7))
应该会达到您想要的结果。