python - "ValueError: object too deep for desired array"是什么意思以及如何修复它?

标签 python numpy convolution valueerror

我正在尝试这样做:

h = [0.2, 0.2, 0.2, 0.2, 0.2]

Y = np.convolve(Y, h, "same")

Y 看起来像这样:

screenshot

执行此操作时出现此错误:

ValueError: object too deep for desired array

这是为什么?

我的猜测是因为 convolve 函数不会将 Y 视为一维数组。

最佳答案

屏幕截图中的 Y 数组不是一维数组,它是一个具有 300 行和 1 列的二维数组,如其 shape( 300, 1).

要删除额外的维度,您可以将数组切片为 Y[:, 0]。通常要将 n 维数组转换为 1D,可以使用 np.reshape(a, a.size)

另一个将二维数组转换为一维数组的选项是 numpy.ndarray 模块中的 flatten() 函数,不同之处在于它会复制数组。

关于python - "ValueError: object too deep for desired array"是什么意思以及如何修复它?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15923081/

相关文章:

Python Numpy 高维矩阵乘法

python - 比较 scipy、torch 和 Fourier 周期卷积时的不一致

python : Print output of each thread on different file

python - Django 的后台作业/任务监视器

python - 手动限制 Graql 查询结果迭代器

python - Matplotlib - 财务量叠加

python - 如何将 python datetime.datetime 转换为 excel 序列号

python - 获取 JaggedArray 的直方图

python-具有阶跃响应的卷积

python - opencv 中使用 4D 内核进行图像卷积