繁体   English   中英

预期 2D 数组,得到 1D 数组:array=[5.6 7. ]。 使用 array.reshape(-1, 1) 重塑数据

[英]Expected 2D array, got 1D array instead: array=[5.6 7. ]. Reshape your data either using array.reshape(-1, 1)

当我们通过预测找到价值但我收到一个错误

"Expected 2D array, got 1D array instead:
array=[5.6 7. ].
Reshape your data either using array.reshape(-1, 1) if your data has a 
  single feature or array.reshape(1, -1) if it contains a single sample."

这是错误请解决我的问题这是非常复杂的错误这就是为什么我没有收到错误解决方案

您刚刚打印了错误,但错误本身给出了解决方案。

如果 function 仅接受 2 D 数组,则任何numpy.ndarray都可以通过 numpy.reshape(

现在请观察 reshape 操作的效果,这里(1, -1) ,前1表示数组的第一个维度, -1表示或仅用于扁平化数组,以防您有维度大于 2 的数组。

对于一维数组,您还可以使用(1, len(arr))

import numpy
arr = = numpy.array([1, 3, 5, 6, 7, 8, 8])
numpy.reshape(arr, (1, -1))
numpy.reshaoe(arr, (1, len(arr)))

两种重塑都有相同的结果。 Output

>>> array([[1, 3, 5, 6, 7, 8, 8]])  # output of numpy.reshape(arr, (1, -1))
>>> array([[1, 3, 5, 6, 7, 8, 8]])  # output of numpy.reshape(arr, (1, len(arr)))

因此,重塑使您的阵列与您正在使用的 function 兼容,但如果 function 不包括 2D 并且您拥有 1D 阵列,则应该有一些有意义的方法将您的 1-D 事物转换为 2-D。

意味着如果 function 接受 2D 图像,并且您有 1D 音频序列,那么确实应该有完整的转换方式。

如果您也可以提及,帮助将是真正的帮助。 现在,我们正在猜测我们的想法认为您需要什么。

所以总是在提问之前请花一些时间来构思问题,这样可以保证得到答案并解决问题

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM