Я полагаю, вам нужно DataFrame.duplicated
для всех дубликатов по столбцам и для заказа используйте DataFrame.sort_values
:
df = pd.DataFrame({
'id':[1,2,3,4,5,6],
'code':list('abcdac'),
})
print (df)
id code
0 1 a
1 2 b
2 3 c
3 4 d
4 5 a
5 6 c
df1 = df[df.duplicated('code', keep=False)].sort_values('code')
print (df1)
id code
0 1 a
4 5 a
2 3 c
5 6 c
Или, если нужны списки, используйте groupby
с list
:
df2 = df[df.duplicated('code', keep=False)].groupby('code')['id'].apply(list).reset_index()
print (df2)
code id
0 a [1, 5]
1 c [3, 6]