gpt4 book ai didi

python - 查找 numpy float 组的交集

转载 作者:太空宇宙 更新时间:2023-11-04 07:18:07 25 4
gpt4 key购买 nike

如何找到两个 numpy float 数组的交集?:

a = np.arange(2, 3, 0.1)
b = np.array([2.3, 2.4, 2.5])
out_data = np.intersect1d(a, b)

结果是

out_data -> ndarray: []

最佳答案

由于 float 的工作方式,在您的示例中 a[3] 不是 2.3,而是 2.3000000000000003。这是因为 0.1 在 IEEE double float 中没有精确表示。 numpy 中的 intersect1d 方法实际上只适用于整数。要解决此问题,您应该实现自己的方法,该方法采用公差来确定两个 float 是否足够接近。

关于python - 查找 numpy float 组的交集,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32513424/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com