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

调用scipy.stats.gaussian_kde报TypeError: No loop matching the specified signature错误

报错原因分析

该TypeError的核心触发原因是传入gaussian_kde的numpy数组数据类型为object,而非浮点、整数等原生数值类型。scipy的核密度估计函数内部需要执行大量数值算术运算,object类型的数组元素无法直接参与numpy的通用函数(ufunc)运算,因此触发了类型不匹配的报错。

解决方法
  • 首先将object类型的numpy数组转换为数值类型(常规使用float64即可),转换后再调用gaussian_kde即可正常运行,转换代码如下:
data = data.astype(np.float64)
  • 如果转换过程中抛出新的报错,说明原始数组中混入了非数值元素(比如字符串、空值None等),需要先完成数据清洗,过滤或替换无效值后再执行类型转换。
完整修复后的可运行代码
import numpy as np
from scipy.stats import gaussian_kde

data = np.array([0.056004922086, -0.067110140912, 0.047649429128, 0.013352490798, 0.056957475051,
0.064815486825, 0.042257559312, 0.049155256114, -0.002745214579, -0.034729529946,
-0.0087654892625, 0.001477248489, 0.089200991785, 0.061195174967, 0.015295170704,
0.00080743905519, 0.048158569509, 0.034026643059, 0.037892055914, 0.017979245009], dtype=object)

# 修复步骤:转换为float64数值类型
data = data.astype(np.float64)
kde = gaussian_kde(data)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.02 17:36:04