我正在测试 numpynp.in1d()例程以查看它是否按预期工作,因为我需要将它包含在程序中。即我试过
>>> import numpy as np
>>> x = np.arange(0, 1, 0.1)
>>> y = np.arange(0.5, 1, 0.2)
>>> x
array([0. , 0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9])
>>> y
array([0.5, 0.7, 0.9])
>>> np.in1d(x, y)
array([False, False, False, False, False, True, False, False, False, False])
上次评估的结果似乎是一个错误。根据文档中的说明,我希望它是
array([False, False, False, False, False, True, False, True, False, True])
我正在使用 Python 3.7.3 和 NumPy 1.16.1。我第一次尝试它是在命令行上,然后在 IDLE 中复制上述 MWE 以查看它是否是错误或什么,但结果是相同的。
这是一个已知的问题?numpy 的定义方式有问题dtype吗np.arange()?还是其他的东西,比如 Python/numpy 版本?
编辑:我尝试做同样的操作,但用整数代替,结果与我最初预期的一样。特别是我做了:
>>> x = np.arange(10)
>>> y = np.arange(5, 10, 2)
>>> np.in1d(x, y)
array([False, False, False, False, False, True, False, True, False, True])
这让我怀疑这是一个与dtype数组相关的错误。
慕田峪7331174
倚天杖
相关分类