根据对不同列的行应用的条件创建新组

2024-10-05 14:23:50 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在创建一个新的专栏,创建一个由5名成员组成的小组,每个小组必须属于同一地区,并且邮政编码距离应小于5

我试着做同样的事情

for i in range(len(df1)):
    j=i+1
    while j< len(df1):
        if (df1['pincode'][j]-df1['pincode'][i])<=5:
            df1['rank'][j]=df1['rank'][i]+1
            break;
            j=j+1
        print(i,j)
#Dataset with expected outcome
ID,Location,zip,rank,group id
1,Area1,15000,1,1
2,Area1,15000,2,1
3,Area1,15000,3,1
4,Area1,15000,4,1
5,Area1,15000,5,1
6,Area1,15001,1,2
7,Area1,15002,2,2
8,Area1,15003,3,2
9,Area1,15004,4,2
10,Area1,15000,5,2
11,Area1,15000,1,3
12,Area1,15000,2,3
13,Area1,15000,3,3
14,Area1,15000,4,3
15,Area2,15000,1,4
16,Area2,15000,2,4
17,Area2,15000,3,4
18,Area2,15000,4,4
19,Area2,15000,5,4
20,Area2,15000,1,5
21,Area2,15500,1,6
22,Area2,15000,2,6
23,Area2,15000,3,6
24,Area2,15000,4,6

第一个四个列是输入数据,我正在尝试创建rankgroup id


Tags: id距离lengroup小组成员事情地区