最近在处理数据,发现包含时间的三维array中存在缺省值,而搜到的关于缺省值得处理大部分都是针对df来的,所以,就想写一个,记录一下。
首先,利用np.where将缺省值用nan进行替换,然后进行循环,在每个二维数组进行操作,程序!
import pandas as pd
import numpy as np
a=np.random.randint(-4,5,(3,4))
#%%
b=np.where(a==0,np.nan,a)
#%%
e = np.empty(shape=(2, 3, 2))
c=b.reshape(2,3,2)
#%%
for i in range(2):
c1=c[i,:,:]
d=np.nanmean(c1)
c1[np.isnan(c1)]=d
e[i,:,:]=c1
np.where很好用啊,倒数第二行利用np.where应该也能实现。
下面是结果,前
后:
如果有更好的方法,希望大家多多指教哈!