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

使用lidar.ExtractSinks()遇np.float报错及NoData值处理问题

解决AttributeError: module 'numpy' has no attribute 'float'问题(针对lidar包)

猴子补丁方案(推荐,无需修改第三方代码或降级)

在导入lidar包之前,手动给numpy添加兼容的float属性,让第三方包的旧代码能正常运行:

import numpy as np
# 为numpy添加已弃用的float别名,指向实际兼容的float64类型
np.float = np.float64

# 之后再导入lidar及其他依赖包
import lidar
import rasterio

# 你的栅格处理代码
with rasterio.open("你的栅格文件路径.tif") as src:
    src.nodata = 0
    dem = src.read(1)
    # 调用ExtractSinks函数
    sinks = lidar.ExtractSinks(dem, no_data=src.nodata)

原理:高版本numpy移除了np.float这个别名,我们手动将其映射到np.float64(原np.float对应的实际类型),以此兼容第三方包的旧代码逻辑。

降级numpy方案

如果猴子补丁出现兼容性问题,可以选择降级numpy到仍支持np.float的版本:

pip install numpy==1.23.5

注意:降级可能导致其他依赖包出现兼容性问题,需要验证项目整体运行情况。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.01 10:05:14