代码之家  ›  专栏  ›  技术社区  ›  remus

当numpy.array中的列更改值时,如何选择第一行

  •  1
  • remus  · 技术社区  · 12 年前

    有没有一种很好的快速方法来为numpy数组进行以下选择?

    >>> A=np.array([[1,2], [2,2], [3,5], [4,5]])
    >>> A
    array([[1, 2],
           [2, 2],
           [3, 5],
           [4, 5]])
    

    我希望在第二列更改值时选择第一行。对于上面的数组,结果将是:

    array([[1, 2], 
           [3, 5]])
    
    1 回复  |  直到 12 年前
        1
  •  2
  •   behzad.nouri    12 年前
    >>> xs = np.array([[1,2], [2,2], [3,5], [4,5]])
    >>> j = scipy.r_[True, xs[:-1,1] != xs[1:,1]]  # or np.concatenate here
    >>> xs[j,:]
    array([[1, 2],
           [3, 5]])