将列表转换为numpy矩阵

2024-10-05 13:22:39 发布

您现在位置:Python中文网/ 问答频道 /正文

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

我想用td_X填充,它由X行组成,其中索引等于中心。在伪代码中:

for each in centers:
  td_X.append(X[eacj])

如何使用Python完成此操作?


Tags: 代码innumpy列表for矩阵中心td
2条回答

因为中间的尺寸是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]])

相关问题 更多 >

    热门问题