我在python中工作,在理解列表,numpy数组和矩阵以及pandas数据帧之间的关系时遇到了问题。
我知道以下内容,从df转到矩阵就足以调用as_matrix()了。 我现在正试图从双列表中创建一个numpy矩阵。我的列表有3个891个元素列表(但可以是任意数字)。
说清单是tmp,我有len(tmp) = 3
和len(tmp[0]) = 891
。
然后我做了tt = numpy.matrix(tmp)
。
如果我现在这样做:
print tt.shape
这是(1,3)。 现在,我也试过了
print tt[0].shape
和
print tt[0][0].shape
和
print tt[0][0][0].shape
,结果总是(1,3)
这对我来说毫无意义。
tt
不应该是像tmp那样的(3,891)矩阵吗?
如果我这样做
print len(tmp)
print len(tmp[0])
print([len(row) for row in tmp])
我得到了
3
891
TypeError: object of type 'NoneType' has no len()
答案 0 :(得分:2)
你的问题是矩阵项是一个矩阵。由于您只有一行,tt==tt[0]
等等。索引数组不同,ndim(a[0])
更直观ndim(a)-1
。