0
我有这样numpy的阵列的列表(任何尺寸):最简单的方式来创建numpy的阵列列表的填充基质
a = [array(2,3,4), array(2,3), array(2)]
如何与代码行最少数量的创建填充矩阵,填充符号“0”这样的:
array([[2, 3, 4],
[2, 3, 0],
[2, 0, 0]
])
我有这样numpy的阵列的列表(任何尺寸):最简单的方式来创建numpy的阵列列表的填充基质
a = [array(2,3,4), array(2,3), array(2)]
如何与代码行最少数量的创建填充矩阵,填充符号“0”这样的:
array([[2, 3, 4],
[2, 3, 0],
[2, 0, 0]
])
一种选择是使用zip_longest
从itertools
,直到它们具有相同的长度为最长阵列可以为较短的阵列填充的零值:
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]])