【发布时间】:2019-02-20 02:37:17
【问题描述】:
我有一个 numpy 数组,我有一个要在特定位置(不连续)插入到该数组的元素列表。索引在另一个 numpy 数组中。
target answer: [1,2,3,4,5]
original array: [1,3,5]
elements to insert: [2,4]
indices: [1,3]
numpy.insert(arr,[1,3],[2,4]) 没有给出想要的结果。它给了[1,2,3,5,4]。
有什么指点吗?
【问题讨论】:
-
你可能不应该这样做。如果 Python 列表正在改变大小,使用它们会更有效
-
复杂之处在于您选择的索引 - 它们是相对于原始数组还是目标。
insert将2放在original[1]之后,将4放在original[3]之后。相反,您希望它们位于result[1]和result[3]插槽。 -
@roganjosh,通常多次插入列表需要从最后一个开始,因此列表的增长不会弄乱索引。在这种情况下,该迭代可以从第一次开始,因为
indices已经影响了增长。 -
@hpaulj 我认为你是对的。我一直在尝试在聊天中进行基准测试,它并不像我认为的数组那么可怕
标签: python arrays python-2.7 numpy scipy