Подсчитать количество дубликатов в каждой группе

Если у вас есть значения, которые вы хотите вставить в другую таблицу уже, то вы можете вставить из оператора select.

INSERT INTO a_table (column_a, column_b) SELECT column_a, column_b FROM b_table;

В противном случае вы можете перечислить кучу одноразовых вставных операторов и отправьте несколько запросов навалом, чтобы сэкономить время на то, что работает как в Oracle, так и в MySQL.

Решение @Espo также является хорошим, которое будет работать как в Oracle, так и в Oracle MySQL, если ваши данные еще не находятся в таблице.

1
задан coldspeed 16 January 2019 в 17:20
поделиться

1 ответ

Вам понадобится начальный этап фильтрации с duplicated, затем вы можете сгруппировать по столбцам и вычислить size:

c = ['IDField', 'Frame', 'Order']
df[df.duplicated(c)].groupby(c).size().reset_index(name='Duplicates')

   IDField  Frame  Order  Duplicates
0       20  10_01      0           1

c = ['IDField', 'Order']
df[df.duplicated(c)].groupby(c).size().reset_index(name='Duplicates')

   IDField  Order  Duplicates
0       20      0           1
0
ответ дан coldspeed 16 January 2019 в 17:20
поделиться
Другие вопросы по тегам:

Похожие вопросы: