二维list 无法转为二维的numpy.array?

来源:互联网 发布:淘宝店铺域名怎么设置 编辑:程序博客网 时间:2024/06/08 08:49

一个合法的list转为numpy的array很简单,例子如下:

import numpy as np

x=[[1,2],[2,3]]

x=np.array(x)

print x.shape


打印输为(2,2),


今天我就遇到一个问题,我从文件中读入了一个二维数组,但它死活转不numpy的二维数组,一直都只能转为一维数组。

这让我很郁闷烦了了我一晚上,今天我尝试着先把二维数组的每一维都转为(1,n)的二维数组,然后将这些二维数组合并为二维数组。

最终发现了原因!原来是数组不匹配!!!也就是有某几行数据的列数与其他行的不同(比他们的列数少),例如[[1,2,3],[2,3,1],[1,2]],这里第三行的列数就比一二行的少。这时候你直接调用np.array(),它就只能转为一维数组了。

这是个坑,之后遇到这问题,一定要检查读入的数据的行列是否匹配!!!