我有一个很大的多维数组here,它有很多nan值。
我想计算沿第一轴(5124)的平均值,或者插值。
import numpy as np
data = np.load('data.npy')
mean = np.nanmean(data, axis=1)
现在,mean
具有形状:5124, 112
和data
:5124, 112, 112
,所以我尝试:
data[np.any(np.isnan(data))][-1, :, :, -1] = mean
但是数据仍然充满NAN值。
我不知道如何将平均值填入数据数组。
我尝试了一些插值方法,但非常非常慢,内存消耗,所以我不知道是否有更好的方法来填补nan值。
1条答案
按热度按时间fnatzsnv1#
有点慢,但你可以试试:
正如@Stef所建议的,您可以使用
bottleneck
来加速此过程:输出: