You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

无法从DataFrame提取numpy.float64类型chikou_span列的指定行

浮点数精确匹配失效的解决方法

问题核心是浮点数的精度存储特性:你看到的3057.476074只是显示的近似值,numpy.float64类型的实际存储值是更精确的小数(比如可能是3057.4760740000002或3057.4760739999998),直接用==做精确对比会因为微小的精度差导致匹配失败;而整数类型没有这个问题,所以Volume列的匹配正常。

解决方法有三种:

  • 用近似匹配函数:借助numpy.isclose做容错对比,允许微小的精度误差

    import numpy as np
    df[np.isclose(df['chikou_span'], 3057.476074)]
    
  • 利用pandas自带的近似相等方法,指定容忍度

    df[df['chikou_span'].eq(3057.476074, tolerance=1e-6)]
    
  • 对列值做四舍五入后再匹配,保留和目标值一致的小数位数

    df[df['chikou_span'].round(6) == 3057.476074]
    

内容的提问来源于stack exchange,提问作者erfanvahdat

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.26 20:53:12