问题
ValueError: setting an array element with a sequence. The requested array has an inhomogeneous shape after 1 dimensions.
ValueError:设置带有序列的数组元素。所请求的数组在1维后具有不均匀的形状。检测到的形状为(91830,)+不均匀部分。
解决
下面主要分析库的问题:就是在别人电脑上能跑通,在自己电脑上跑不通的原因。关键在于NumPy 版本差异。
-
旧版本(如 NumPy <1.24):可能更宽松,会自动将非均匀序列转换为
object
类型数组,不报错。 -
新版本(如 NumPy >=1.24):更严格,直接拒绝非均匀数据并抛出
ValueError
。
如何验证是否是 NumPy 版本问题1
import numpy as np print(np.__version__)
解决方案:
pip install numpy==1.23.5