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

Python使用不等长列表绘制matplotlib小提琴图出现numpy报错如何解决

错误原因

你遇到的报错根本原因是传入np.percentile的data为不等长嵌套列表,numpy无法将其转换为标准二维数值数组,仅能生成一维object类型数组,因此指定axis=1会触发轴越界错误。同时np.percentile本身不支持dtype入参,你后续添加dtype参数的修改方式也会直接报错。

修复方案

仅需将原计算分位数的代码行替换为逐个子列表单独计算分位数即可,无需修改其他逻辑:

# 替换原错误行:quartile1, medians, quartile3 = np.percentile(data, [25, 50, 75], axis=1)
quartiles = [np.percentile(sublist, [25, 50, 75]) for sublist in data]
quartile1, medians, quartile3 = zip(*quartiles)

修改完成后即可正常运行,完美适配不等长数据的需求,不会再触发numpy相关报错。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.04 05:54:01