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

使用Scipy ndimage.label()处理布尔数组时出现“No matching signature found”错误

TypeError: No matching signature found 错误原因及解决方法

错误原因

scipy.ndimage.label() 函数要求输入数组为数值型 dtype(比如原生bool、int、float类型),但你的dry_bool数组是object dtype——哪怕数组内存储的是布尔值,object类型会让函数无法识别有效数值特征,直接触发签名不匹配的错误。

解决方法

1. 转换数组为原生布尔类型

先将object类型数组转换成numpy原生布尔型数组,执行代码:

dry_bool = dry_bool.astype(bool)

可通过print(dry_bool.dtype)验证,输出应为bool,确认转换成功。

2. 重新调用label函数

转换完成后,执行原代码即可正常标记连续干旱日时段:

import scipy.ndimage as ndimage
events, n_events = ndimage.label(dry_bool)

此时events会输出标记了不同连续区域的数组,n_events即为连续干旱日时段的总数量。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.06 17:34:51