将列表转换为numpy矩阵
我有一个矩阵X
和列表centres
。我想创建一个新的numpy矩阵td_X
。将列表转换为numpy矩阵
我想填充td_X
,其中由X
的行组成,其索引等于中心。在伪代码:
for each in centers:
td_X.append(X[eacj])
我该如何使用Python做到这一点?
自认为中等尺寸大小为1,只需重塑或挤压它。
x = np.array(alist)
x = np.squeeze(x) # or
x = x.reshape(45, 5785) # or
x = x[:,0,:]
您可以删除列表中的额外嵌套层,但是这种重新整形对于数组来说更容易。
从x[0]
,你有一个额外的级别的列表缠绕。通过索引中删除它应该让你有:
x = np.array([l[0] for l in x])
这里是一个小例子:
x = [[[1,2]], [[2,3]], [[4,5]]]
np.array(x).shape
# (3, 1, 2)
np.array([l[0] for l in x]).shape
# (3, 2)
np.array([l[0] for l in x])
# array([[1, 2],
# [2, 3],
# [4, 5]])
这仍然会产生一个尺寸为:(45,1,5785)' – user7347576
的数组吗?您是否已将结果返回给'x'? – Psidom
不适用于其他变量。 – user7347576
你尝试过什么吗?甚至'np.array(x)'? –