将列表转换为numpy矩阵

时间:2017-01-03 00:01:00

标签: python list numpy matrix

我有一个矩阵X和一个列表centres。我想创建一个新的numpy矩阵td_X

我想填充td_X,其中Xfor each in centers: td_X.append(X[eacj]) 行组成,其中索引等于中心。在伪代码中:

import random
l1= random.choice("ABCDEFGH")
l2= random.choice("ABCDEFGH")
print l1, l2

如何使用Python执行此操作?

2 个答案:

答案 0 :(得分:3)

由于中间尺寸为1,因此只需重塑或挤压它。

x = np.array(alist)
x = np.squeeze(x)  # or
x = x.reshape(45, 5785)  # or
x = x[:,0,:]

您可以在列表中删除额外的嵌套层,但使用数组可以更轻松地进行这种重构。

答案 1 :(得分:1)

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]])