我有一个数据集,它在一个大小为25000 x 13的二维numpy数组中,该数组中有25 x 7的数字,其余的是nan。如何删除所有的nan?我试过了:
test[~np.isnan(test)]
使用"test“作为我的数组,并分别尝试(我相信它们是相同的)
test[np.logical_not(np.isnan(test))]
在执行完操作后,这两个函数都将25 x 7数组放入175 x 1数组中。
提前谢谢你
发布于 2018-07-24 03:52:37
使用布尔掩码是正确的,但结果必须是一维的,因为多维数组的子集的形状是模糊定义的,所以它会自动将其展平。幸运的是,它将以一种可预测的方式使其扁平化。因此,您只需再次将其设置为二维数组。
test[~np.isnan(test)].reshape((25,7))
应该会达到你想要的效果。
https://stackoverflow.com/questions/51483072
复制相似问题