首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >了解在NumPy数组上执行条件索引时出现的DeprecationWarning错误(版本1.11.13,Python2.7)

了解在NumPy数组上执行条件索引时出现的DeprecationWarning错误(版本1.11.13,Python2.7)
EN

Stack Overflow用户
提问于 2018-07-14 07:39:04
回答 1查看 542关注 0票数 -1

我不理解在Numpy数组上执行条件索引时出现的弃用警告错误,希望能对社区有所帮助。让我们考虑一个名为‘NumPy’的块数组,它包含从1到12的整数:

代码语言:javascript
复制
block = np.arange(1,13)

我可以通过执行以下操作来选择不同于4的值:

代码语言:javascript
复制
selection = block[block != 4]

现在我想选择不同于1、4和7的值。如果我这样做:

代码语言:javascript
复制
selection = block[block != np.array([1, 4, 7])]

我得到以下错误:

代码语言:javascript
复制
__main__:1: DeprecationWarning: elementwise != comparison failed; this will 
raise an error in the future.
__main__:1: VisibleDeprecationWarning: using a boolean instead of an integer 
will result in an error in the future

谁能解释这个警告的原因,并指定正确的切片方法(理想情况下,当尝试从一个大型numpy数组中提取与另一个大型numpy数组中的值不同的值时,建议的解决方案也应该适用)?注意警告后面的select =2,我也不明白。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-07-14 09:11:24

你所做的事情的正确代码是:

代码语言:javascript
复制
selection = block[~np.isin(block, [1, 4, 7])]
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51334010

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档