python numpy array索引_python – 在numpy中使用Masked Arrays进行索引

我有一些代码试图在另一个指定的索引处找到数组的内容,这可能指定超出前一个数组范围的索引.

input = np.arange(0, 5)

indices = np.array([0, 1, 2, 99])

我想要做的是:

打印输入[索引]

得到

[0 1 2]

但这会产生异常(如预期的那样):

IndexError: index 99 out of bounds 0<=index<5

所以我想我可以使用蒙面数组来隐藏越界索引:

indices = np.ma.masked_greater_equal(indices, 5)

但仍然:

>print input[indices]

IndexError: index 99 out of bounds 0<=index<5

即使:

>np.max(indices)

2

所以我必须首先填充蒙面数组,这很烦人,因为我不知道我可以使用什么填充值来不为超出范围的那些选择任何索引:

print input[np.ma.filled(indices, 0)]

[0 1 2 0]

所以我的问题是:如何有效地使用numpy从数组安全地选择索引而不超出输入数组的边界?

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值