与列表理解相比,是否有矢量化方法来连接这2d列表?

问题描述

这是我的示例代码

DF_LEN,COL_LEN,cols = 10,5,['A','B','C','D','E','F','G','H','I','J','K','L','M','N','O']
 
a = np.asarray(pd.DataFrame(1,index=range(DF_LEN),columns=cols))
a = list((map(lambda i: a[:i],range(1,a.shape[0]+1))))
  
b = np.asarray(pd.DataFrame(np.nan,columns=cols))
b = list((map(lambda i: b[:i],b.shape[0]+1))))
b = b[::-1]

a_last   = a[-1];  del a[-1]
b_first  = b[0]; del  b[0]

a = [np.concatenate((x,y)) for x,y in zip(a,b)]

它会创建两个大小为大小变化的数组列表,然后反转第二个数组并将它们合并,以使它们在每个子数组中具有相同数量的子列表。 为了阐明我的可复制的职业:

a=[
   array([[1,1,1]],dtype=int64),array([[1,1],[1,dtype=int64)]
b=[
   array([
       [nan,nan,nan],[nan,nan]
                            ]),array([
       [nan,nan]
                            ])
                                ]
res=[
      array([[ 1.,1.,1.],nan]
                                   ]),array([[ 1.,[ 1.,nan]
                                    ]),nan]]
                                    )]

有没有比合并两个大小不同的数组列表更快速方法了?

[np.concatenate((x,b)]

编辑: 或这样:

np.array([npvstack((x,b)])

编辑: 有没有迭代的方法吗? (矢量化)

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)