Pandas 将多维数组元素转换为相同数量的数组

Pandas 将多维数组元素转换为相同数量的数组,pandas,numpy,machine-learning,image-processing,computer-vision,Pandas,Numpy,Machine Learning,Image Processing,Computer Vision,我正在做一个计算机视觉项目,在这个项目中,当我试图更改输入图像矩阵的数据类型时,我遇到了一个错误“使用序列设置数组元素”。 我意识到这是因为我所拥有的输入图像矩阵在其所有数组中的元素数都不相同。是否有任何方法可以将输入图像转换为2D数组,每个数组中的元素数相同 当我尝试执行以下行时,我收到一个错误: X\u train=X\u train.astype('float32') 任何帮助都将不胜感激。 干杯。您需要用零填充元素较少的行,使其长度等于列表(矩阵)中最长数组(或列表)的长度。 下面是一段

我正在做一个计算机视觉项目,在这个项目中,当我试图更改输入图像矩阵的数据类型时,我遇到了一个错误“使用序列设置数组元素”。 我意识到这是因为我所拥有的输入图像矩阵在其所有数组中的元素数都不相同。是否有任何方法可以将输入图像转换为2D数组,每个数组中的元素数相同

当我尝试执行以下行时,我收到一个错误:
X\u train=X\u train.astype('float32')

任何帮助都将不胜感激。
干杯。

您需要用零填充元素较少的行,使其长度等于列表(矩阵)中最长数组(或列表)的长度。 下面是一段代码片段,用于将长度不等的列表填充到相同行长度的矩阵中:

import numpy as np
unpadded_matrix = np.array([[1, 2], [3, 4, 5], [6, 7, 8, 9]])
max_len = max([len(row) for row in unpadded_matrix])
np.array([row + [0]*(max_len-len(row)) for row in unpadded_matrix])
o/p:


您需要用较少的元素填充行,使其长度等于列表(矩阵)中最长数组(或列表)的长度。 下面是一段代码片段,用于将长度不等的列表填充到相同行长度的矩阵中:

import numpy as np
unpadded_matrix = np.array([[1, 2], [3, 4, 5], [6, 7, 8, 9]])
max_len = max([len(row) for row in unpadded_matrix])
np.array([row + [0]*(max_len-len(row)) for row in unpadded_matrix])
o/p:


谢谢你的帮助。但现在我得到另一个错误,即操作数不能与形状(50,50,3)(0,)一起广播。我的
X\u火车。形状
(416286,)
。你能发布完整的代码吗?我猜代码被破坏的原因与上面讨论的填充问题不同。我的数据是关于检测癌症的。因此,我首先加载未标记的数据,并使用符号手动创建标签。我对y_列和y_测试使用了一个热编码
y_列=to_category(y_列标签)y_测试=to_category(y_测试标签)
但是当执行您给出的以下代码行时,它会给我错误
max_len=max([len(row)表示X_列中的行)np.数组([row+[0]*(max_len-len(row))表示X_列中的行)
注意:在X_列中,我手动合并了两张班级图片,即有癌症和无癌症。谢谢你的帮助。但现在我得到另一个错误,即操作数不能与形状(50,50,3)(0,)一起广播。我的
X\u火车。形状
(416286,)
。你能发布完整的代码吗?我猜代码被破坏的原因与上面讨论的填充问题不同。我的数据是关于检测癌症的。因此,我首先加载未标记的数据,并使用符号手动创建标签。我对y_列和y_测试使用了一个热编码
y_列=to_category(y_列标签)y_测试=to_category(y_测试标签)
但是当执行您给出的以下代码行时,它会给我错误
max_len=max([len(row)表示X_列中的行)np.数组([row+[0]*(max_len-len(row))表示X_列中的行)
注意:在X_列中,我有两个类图像,即有癌症和没有癌症,我手动合并。