Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 当numpy阵列应该已经有2个DIM时,如何将其转换为2D?_Python_Arrays_Numpy - Fatal编程技术网

Python 当numpy阵列应该已经有2个DIM时,如何将其转换为2D?

Python 当numpy阵列应该已经有2个DIM时,如何将其转换为2D?,python,arrays,numpy,Python,Arrays,Numpy,我正在尝试使用 [:, x] 我的程序抱怨我的numpy数组不是2D的,但我很确定它是2D的 print(len(inputs)) 给我13715 print(len(inputs[x])) 给我402 print(inputs.shape) 给我(13715,) 当我尝试重塑时 inputs.reshape(len(inputs), len(inputs[0])) 我犯了一个错误 ValueError: cannot reshape array of size 13715 into

我正在尝试使用

[:, x]
我的程序抱怨我的numpy数组不是2D的,但我很确定它是2D的

print(len(inputs))
给我13715

print(len(inputs[x]))
给我402

print(inputs.shape)
给我(13715,)

当我尝试重塑时

inputs.reshape(len(inputs), len(inputs[0]))
我犯了一个错误

ValueError: cannot reshape array of size 13715 into shape (13715,402)
我知道对于我的13715个元素中的每一个,都有402个子元素

我做错了什么?

当你得到一个像(13715,)这样的逗号时,这意味着你有13715行,列的数量没有定义,也就是说,不同行的列数不同。你不能重塑它,因为这样的操作毫无意义

您可以使用行号访问每个数组,就像您所做的那样:输入[x]

您可以检查每一行是否具有相同的402长度,如下所示:

bool_check = [len(input[n])!=402 for n in range(len(input))]
sum(bool_check)

当一个元素的长度不为402时,得到一个True。如果你把所有元素加起来,只有当所有元素都是402长的时候,你才能得到零。否则,总和将告诉您有多少个元素不是402长。

如果是2D,则
输入。shape
将返回包含两个分量的内容
(x,y)
。相反,您的numpy数组似乎充满了规则数组,这就是重塑不起作用的原因。@学习机器数组不太可能是二维的,因为在这种情况下,print(inputs.shape)应该为您提供(13715402)而不是(13715),您所说的
子元素是什么意思?什么是
输入.dtype
?对象或具有402个术语的复杂表达式/