将具有不同长度的列表列表转换为numpy数组

我有不同长度的清单清单(例如[[1, 2, 3], [4, 5], [6, 7, 8,

9]]),并想将其转换成numpy整数数组。我了解numpy多维数组中的“子”数组必须具有相同的长度。那么将上述示例中的列表转换成这样的numpy数组[[1,

2, 3, 0], [4, 5, 0, 0], [6, 7, 8, 9]](即用零完成)的最有效方法是什么?

回答:

您可以使用np.zeros创建一个numpy数组,并用列表元素填充它们,如下所示。

a = [[1, 2, 3], [4, 5], [6, 7, 8, 9]]

import numpy as np

b = np.zeros([len(a),len(max(a,key = lambda x: len(x)))])

for i,j in enumerate(a):

b[i][0:len(j)] = j

结果是

[[ 1.  2.  3.  0.]

[ 4. 5. 0. 0.]

[ 6. 7. 8. 9.]]

以上是 将具有不同长度的列表列表转换为numpy数组 的全部内容, 来源链接: utcz.com/qa/406017.html

回到顶部