Как использовать .isin и groupby в пандах - PullRequest
0 голосов
/ 26 июня 2018
P_id   F_name      L_name     DOB        dup_id
25     John        Doe        23/1/90     29  
28     John        Doe        23/1/90     29  
29     John        Doe        23/1/90     0  
35     Jane        Dawson     20/1/68     0  
47   Jane Matilda  Dawson     20/1/68     35
120    Shane         Jack     12/1/97     0
50     Belinda     Ada        11/11/11    145  
145    Belynda     Ada        11/11/11    0
65     Shayne M.   Jack       12/1/97     120

Я пытаюсь проверить, найдены ли dup_id в p_id, затем сгруппировать строки dup_id (s) и 'p_id' вместе.Группируя их, присваивая уникальное «нет» каждой группе.

for ind, val in df[p_id'].iteritems(): if val in df['dup_id']: df5 = df.assign(id=(df['F_name'] + '_' + df['L_name']).astype('category').cat.codes)

Приведенный выше код не работает, это просто моя попытка.Эта таблица связана с другими таблицами в базе данных с помощью p_id, и мне нужно будет объединить или объединить их

UID (новый идентификатор) и будет использоваться для группировки записей.Я бы сгруппировал их по fname и lname, но из-за несовместимых записей имен я решил использовать dup_id и p_id, которые более надежны

Новый вывод

P_id   F_name      L_name     DOB        dup_id       uid
25     John        Doe        23/1/90     29            1
28     John        Doe        23/1/90     29            1 
29     John        Doe        23/1/90     0             1  
35     Jane        Dawson     20/1/68     0             2  
47   Jane Matilda  Dawson     20/1/68     35            2
120    Shane       Jack       12/1/97     0             3
65     Shayne M.   Jack       12/1/97     120           3
50     Belinda     Ada        11/11/11    145           4 
145    Belynda     Ada        11/11/11    0             4
...