合并两个numpy数组并删除重复项?

时间:2018-04-20 22:17:01

标签: python arrays numpy

我有一个numpy array =

[1,6,7,9,3,5]

和第二个numpy数组=

[3,5,8,9,2]

我想将这两个数组合并在一起:

[1,6,7,9,3,5,3,5,8,9,2]

然后删除numpy数组中的重复项以获取:

[1,6,7,9,3,5,8,2]

我想保留尽可能多的数组,并取出数组2的元素,不要出现在数组1中,然后附加这些元素。

我不确定它是否更有意义:

  1. 合并两个数组并删除重复项。 或
  2. 循环遍历数组2的元素,如果它们不出现在数组1中,则连接到数组1。
  3. 我尝试使用各种循环,但这些似乎主要用于列表,我也尝试使用set()但是这会命令numpy数组,我想保留随机订单。< / p>

2 个答案:

答案 0 :(得分:4)

要加入这两个数组,您只需使用np.concatenate

即可

在保留顺序的同时删除重复项有点棘手,因为通常np.unique也会排序,但您可以使用mtcars[1:5, 1:4] %>% mutate( car = row.names(.), mpg = my_color_bar("lightgreen")(mpg), cyl = my_color_bar("lightgreen")(cyl), disp = my_color_bar("lightgreen")(disp), hp = my_color_bar("lightgreen")(hp) ) %>% select(car, everything()) %>% kable("html", escape = FALSE) %>% kable_styling("hover", full_width = FALSE) %>% column_spec(5, width = "3cm") 然后排序来解决此问题:

return_index

答案 1 :(得分:0)

这也是稍微不同的方式:

z = np.concatenate([x, y[~np.isin(y,x)])