Python 3.x Can';t重塑我的numpy阵列以训练KNN模型

Python 3.x Can';t重塑我的numpy阵列以训练KNN模型,python-3.x,numpy,scikit-learn,numpy-ndarray,lbph-algorithm,Python 3.x,Numpy,Scikit Learn,Numpy Ndarray,Lbph Algorithm,我尝试使用局部二进制模式(LBP)描述符来训练KNN模型 我的数据是一个shape(67,26)元素的numpy.array,但是myaray.shape返回(67,) 我尝试重新塑造阵列,如下所示: myarray.reshape(-1, 26) 但它导致了以下错误: ValueError: cannot reshape array of size 67 into shape (26)** 非常感谢您,因为我不确定我是否清楚地理解了您的问题,首先我将尝试模拟您的数据: [101]中

我尝试使用局部二进制模式(LBP)描述符来训练KNN模型

我的数据是一个shape(67,26)元素的
numpy.array
,但是
myaray.shape
返回(67,)

我尝试重新塑造阵列,如下所示:

    myarray.reshape(-1, 26)
但它导致了以下错误:

ValueError: cannot reshape array of size 67 into shape (26)**

非常感谢您

,因为我不确定我是否清楚地理解了您的问题,首先我将尝试模拟您的数据:

[101]中的
:将numpy作为np导入
[102]中:myarray=np.empty(shape=67,dtype=object)
[103]中:对于范围内的i(len(myarray)):
…:myarray[i]=np.random.rand(26)
请运行以下代码:

[104]中的
:类型(myarray)
Out[104]:numpy.ndarray
在[105]中:myarray.shape
Out[105]:(67,)
在[106]中:myarray.dtype
Out[106]:数据类型('O')
[107]中:类型(myarray[0])
Out[107]:numpy.ndarray
[108]中:myarray[0]。形状
Out[108]:(26,)
如果得到与上述相同的结果,则应按照@hpaulj在评论中指出的方法进行操作:

[109]中的
:x=np.stack(myarray)
In[110]:类型(x)
Out[110]:numpy.ndarray
In[111]:x.shape
Out[111]:(67,26)

能否请您提供一个完整的小示例,并说明所需的输出
myarray的具体类型是什么?也许它是一个
object
类型的数组,而不是一个常规的二维数组?您确定每个内部元素都包含一个包含26个元素的一维数组吗?如果你的形状是
(67,)
,这意味着它不是你期望的2d数组。试试
np.stack(myarray)
myarray
是类型
对象
@MarijnvanVlietYes!!这正是我需要的,非常感谢,也感谢@hpaulj。祝你的项目好运!