一个合法的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(),它就只能转为一维数组了。
这是个坑,之后遇到这问题,一定要检查读入的数据的行列是否匹配!!!