Skip to main content
 首页 » 编程设计

python之将数组中的重复分组

2025年05月04日11jillzhang

<分区>

我正在寻找一个获取一维排序数组并返回的函数 具有两列的二维数组,第一列包含非重复 项目和第二列包含项目的重复次数。现在 我的代码如下:

def priorsGrouper(priors): 
    if priors.size==0: 
        ret=priors; 
    elif priors.size==1: 
        ret=priors[0],1; 
    else: 
        ret=numpy.zeros((1,2)); 
        pointer1,pointer2=0,0; 
        while(pointer1<priors.size): 
            counter=0; 
            while(pointer2<priors.size and priors[pointer2]==priors[pointer1]): 
                counter+=1; 
                pointer2+=1; 
            ret=numpy.row_stack((ret,[priors[pointer1],pointer2-pointer1])) 
            pointer1=pointer2; 
    return ret; 
print priorsGrouper(numpy.array([1,2,2,3]))     

我的输出如下:

[[ 0.  0.] 
 [ 1.  1.] 
 [ 2.  2.] 
 [ 3.  1.]] 

首先,我无法摆脱我的 [0,0]。其次我想知道是否有 这是一个 numpy 或 scipy 函数还是我的可以?

谢谢。