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:了解结果形状_Python_Arrays_Numpy - Fatal编程技术网

Python 将列表列表强制转换为NumPy:了解结果形状

Python 将列表列表强制转换为NumPy:了解结果形状,python,arrays,numpy,Python,Arrays,Numpy,怎么会这样 np.array([[1],[2],[3,4]], dtype=object).shape >> (3L,) 当 ? 为什么将[[1]、[2]、[3,4]]转换为NumPy数组时,生成的形状与[[1]、[2]、[3]]不一样?第二种情况将与2d NumPyndarray兼容:它是一个列表列表列表列表,第二个级别具有相同的长度。这就是为什么会得到2d形状(精确地说是列向量)。另一方面,第一种情况的长度不兼容,您只能从中构造一个1d数组-*列表值ndarray 检查阵列本身

怎么会这样

np.array([[1],[2],[3,4]], dtype=object).shape
>> (3L,)

?


为什么将
[[1]、[2]、[3,4]]
转换为NumPy数组时,生成的形状与
[[1]、[2]、[3]]
不一样?

第二种情况将与2d NumPy
ndarray
兼容:它是一个列表列表列表列表,第二个级别具有相同的长度。这就是为什么会得到2d形状(精确地说是列向量)。另一方面,第一种情况的长度不兼容,您只能从中构造一个1d数组-*列表值
ndarray

检查阵列本身:

a = np.array([[1],[2],[3,4]], dtype=object)
b = np.array([[1],[2],[3]], dtype=object)
*感谢您的澄清

Numpy不允许使用“参差不齐”阵列。第二个示例中的数据可以组织成一个具有形状(3,1)的二维数组,因此numpy使其成为一个由python整数组成的二维数组。第一个示例中的数据不能组织为二维数组,因此numpy尽其所能将其设置为python列表的一维数组。
a = np.array([[1],[2],[3,4]], dtype=object)
b = np.array([[1],[2],[3]], dtype=object)
In [1482]: a[2]
Out[1482]: [3, 4]

In [1483]: b[2,0]
Out[1483]: 3