【问题标题】:Can't filter based on boolean array on numpy array python无法基于numpy数组python上的布尔数组进行过滤
【发布时间】:2017-11-20 17:56:51
【问题描述】:

我在 python 中有这个简单的代码:

 >>> farray
 array([ 34.646433,  34.642292,  34.645295,  34.645938,  34.647517,
    34.646254,  34.640245])
 >>> is_ok
 0    False
 1    False
 2    False
 3    False
 4    False
 5    False
 6    False
 dtype: bool

现在如果我这样做:

 >>>farray[is_ok]
array([ 34.646433,  34.646433,  34.646433,  34.646433,  34.646433,
    34.646433,  34.646433])

当我测试我的代码时,它可以工作并且输出是 []。但是我在另一台机器上使用过它,它不起作用。据我所见,两台机器都有 3.6.3 python。我也收到警告:

D:\Anaconda3\lib\site-packages\ipykernel_launcher.py:1: FutureWarning: in 
the future, boolean array-likes will be handled as a 
boolean array index
"""Entry point for launching an IPython kernel.

有人可以向我解释发生了什么吗?我对python不是很熟悉。

【问题讨论】:

  • 您是否检查了环境之间 Pandas 和 NumPy 的版本差异?
  • 您能否准确显示您正在使用的代码并提供numpy 版本?
  • 是的,看起来我有不同的 numpy 版本,即使我已经更新了......需要重新启动内核。我现在确实觉得很傻,谢谢支持

标签: python arrays numpy ipython-notebook


【解决方案1】:

不同的numpy版本,更新后需要重启内核

【讨论】:

    猜你喜欢
    • 2021-06-24
    • 2021-02-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-08-07
    • 2018-07-06
    • 2021-04-17
    相关资源
    最近更新 更多