创建numpy数组列表的填充矩阵的最简单方法

2024-04-25 22:11:18 发布

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

我有这样的numpy数组列表(任意大小):

a = [array(2,3,4), array(2,3), array(2)]

如何使用最少的代码行创建填充矩阵,填充符号“0”如下:

array([[2, 3, 4],
       [2, 3, 0],
       [2, 0, 0]
])

Tags: 代码numpy列表符号矩阵数组array
1条回答
网友
1楼 · 发布于 2024-04-25 22:11:18

一个选项是使用来自itertoolszip_longest,您可以为较短的数组填充值0,直到它们与最长的数组具有相同的长度:

from itertools import zip_longest
from numpy import array

a = [array([2,3,4]), array([2,3]), array([2])]

array(list(zip(*zip_longest(*a, fillvalue=0))))

#array([[2, 3, 4],
#       [2, 3, 0],
#       [2, 0, 0]])

相关问题 更多 >