问题描述
这是我的示例代码:
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 (将#修改为@)