gpt4 book ai didi

python - 用于将不等长 np.array 组合到矩阵(或二维数组)的 numpy 单线

转载 作者:行者123 更新时间:2023-11-28 22:49:31 27 4
gpt4 key购买 nike

我有一个不同长度的数组列表,我想将它们组合成一个最大维度的矩阵,并在末尾填充零。例如(伪代码):

combine( [1,2,3], [4,5]) 
[[1,2,3],[4,5,0]]

这是我目前的解决方案:

max_len = max(len(xx) for xx in X) 
M = np.array( [np.concatenate([xx, np.zeros( max_len - len(xx))]) for xx in X])

对于懒人来说,打字太多了,有没有更好的解决方案?有内置函数吗?

谢谢

最佳答案

您可以使用 itertools.izip_longest():

from itertools import izip_longest

import numpy as np

def mycombine(*args):
return np.array(list(izip_longest(*args, fillvalue=0))).T

关于python - 用于将不等长 np.array 组合到矩阵(或二维数组)的 numpy 单线,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23815327/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com