【发布时间】:2020-12-03 15:22:45
【问题描述】:
我有两个 numpy 数组列表,想将一个列表的数组插入另一个列表的数组中:
big_list=[np.array([[1., 1., 2.], [1., 1., 1.9], [1., 1., 5.2]]),
np.array([[1., 3., 5.1], [0., 0., 1.2], [1., 1., 1.4]])]
small_list= [np.array([[-1., -1., -5.]]),
np.array([[-1., -1., -1.], [0., -2., -0.5]])]
我想将small_list 的第一个数组插入big_list 的第一个数组,并将small_list 的第二个数组插入big_list 的第二个数组。我想把small_list 放在big_list 的第三列有显着变化的地方。在big_list 的第一个数组中,从第二行到第三行,第三列变化很大(从1.9 到5.2)。对于big_list 的第二个数组,更改发生在第一行之后(从5.1 到1.2)。例如,我想使用像3 这样的阈值来表示一行的第三列与下一行的差异。所以,我想要:
merged= [np.array([[1., 1., 2.], [1., 1., 1.9], [-1., -1., -5.], [1., 1., 5.2]]),
np.array([[1., 3., 5.1], [-1., -1., -1.], [0., -2., -0.5], [0., 0., 1.2], [1., 1., 1.4]])]
目前,我的代码只能在big_list的末尾追加small_list的行:
merged = [np.append(array, to_append, axis=0) for (array, to_append) in zip(big_list, small_list)]
有没有办法在我想要的地方插入这些行? 在此先感谢您的帮助。
【问题讨论】:
标签: python arrays list numpy insert