array中的nan值替换

最近在处理数据,发现包含时间的三维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应该也能实现。

下面是结果,前

0f71bdfe00a2409e899bf7951ad2e779.png

后:

2567ecc22f7c488bad4a00983baae545.png

 如果有更好的方法,希望大家多多指教哈!

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值