pythonarray去除inf_删除Numpy数组中的nan和Infs

有两个阿拉斯像这样:In [1]: arr_1

Out[1]:

array([[ 0., nan, 2., 3.],

[ 4., 5., 6., 7.],

[ 8., 9., 10., 11.],

[ 12., nan, 14., 15.],

[ 16., 17., 18., 19.]])

In [2]: arr_2

Out[2]:

array([[ -0., -1., -2., nan],

[ -4., -5., -6., -7.],

[ -8., -9., -10., -11.],

[-12., -13., -14., -15.],

[-16., -17., -18., -19.]])

您可能希望忽略第1列和第3列。我们可以为此创建一个面具:

^{pr2}$

结合这些掩码,我们可以选择正确的列:In [7]: mask_1 & mask_2

Out[7]: array([ True, False, True, False], dtype=bool)

In [8]: arr_1[:, mask_1 & mask_2]

Out[8]:

array([[ 0., 2.],

[ 4., 6.],

[ 8., 10.],

[ 12., 14.],

[ 16., 18.]])

如果我们决定过滤掉无效行,我们需要交换轴:In [9]: mask_1 = np.isfinite(arr_1).all(axis=1)

In [10]: mask_2 = np.isfinite(arr_2).all(axis=1)

In [11]: arr_1[mask_1 & mask_2, :]

Out[11]:

array([[ 4., 5., 6., 7.],

[ 8., 9., 10., 11.],

[ 16., 17., 18., 19.]])

看来你把斧头弄坏了,没别的了。在

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值