【问题标题】:How to delete elements repeated in a 2_D numpy array?如何删除 2_D numpy 数组中重复的元素?
【发布时间】:2022-01-24 22:54:43
【问题描述】:

我想用 numpy 库解决以下问题。 假设我们有这个'a'数组

a = np.vstack(([10, 10, 20, 20, 30, 10, 40, 50, 20] ,[10, 20, 10, 20, 30, 10, 40, 50, 20]))

作为我们的输出

[[10 10 20 20 30 10 40 50 20]
 [10 20 10 20 30 10 40 50 20]]
with the shape (2, 9)

我想删除数组中垂直重复的元素,这样我就有了结果:

[[10 10 20 20 30 40 50]
 [10 20 10 20 30 40 50]]

在这个例子中,我想删除元素 ((0, 5), (1, 5)) 和 ((0, 8), (1, 8))。是否有任何 numpy 函数可以完成这项工作? 谢谢

【问题讨论】:

    标签: python numpy


    【解决方案1】:

    这很容易做到:

    np.unique(a, axis=1)
    

    【讨论】:

      【解决方案2】:

      按照this answer 的想法,您可以执行以下操作。

      np.hstack({tuple(row) for row in a.T}).T
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2016-07-13
        • 1970-01-01
        • 1970-01-01
        • 2021-12-27
        • 2018-02-08
        • 1970-01-01
        • 2013-03-22
        • 2019-11-28
        相关资源
        最近更新 更多