Pandas, удаление всех парных сочетаний, которые встречаются 1 раз

30.04.2020

Пусть иммется датафрейм с именем df, содержащий столбцы a и b.

Необходимо удалить из датафрейма все сочетания a и b, которые встречаются 1 раз.

Реализация:

tmp = df.groupby(['a', 'b']).size().reset_index().rename(columns={0: 'cnt'})
for row in tmp[tmp['cnt']==1].iterrows():
    df.drop(df[(df['a']==row[1]['a']) & (df['b']==row[1]['b'])].index, axis=0, inplace=True)