Исходные данные дублируются.Дубликаты с разными БД должны быть соединены с предыдущим. Есть ли способ объединить две таблицы в одну, как показано ниже, сравнивая данные?Есть ли какой-нибудь способ выделить те, которые имеют только одно и то же название, а другие столбцы отличаются?
Исходные данные, использующие drop.duplicates и дублированные, я получаю две таблицы, маскируя разные БД, но дублируя их в других столбцах ихотел сравнить их, используя словари, но, сделав строки в качестве словарей в обеих таблицах, ключи одинаковы в каждом словаре, который я не могу объединить.
Это исходные данные, данные
DB TITLE ISSN IBSN
0 M a 1 NaN
1 M d 1 NaN
2 M c 1 NaN
3 N b 1 NaN
4 N a 1 NaN
5 N d 1 NaN
6 O c 1 NaN
7 O e 1 NaN
8 O a 1 NaN
9 O b 1 NaN
10 M a 2 2
11 N a 2 NaN
При использовании drop_duplicates и дубликата:
>>>df1=df.drop_duplicates(['TITLE','ISSN','IBSN'])
>>>index=df.duplicated(['TITLE','ISSN','IBSN'])
>>>df2=df[index]
DB TITLE ISSN IBSN DB TITLE ISSN IBSN
0 M a 1 NaN 0 N a 1 NaN
1 M d 1 NaN 1 N d 1 NaN
2 M c 1 NaN 2 O c 1 NaN
3 M a 2 2 3 O a 1 NaN
4 N a 2 NaN 4 O b 1 NaN
5 N b 1 NaN
6 O e 1 NaN
df1 df2
Это тип словаря, который я получаю из строк:
{'DB': 'N', 'TITLE': 'a', 'ISSN': 1, 'IBSN': 'NaN'}
{'DB': 'M', 'TITLE': 'a', 'ISSN': 1, 'IBSN': 'NaN'}
Я ожидаю, что результат будет
DB TITLE ISSN IBSN DB TITLE ISSN ISBN DB TITLE ISSN IBSN
0 M a 1.0 NaN N a 1.0 NaN O a 1.0 NaN
1 N b 1.0 NaN O b 1.0 NaN NaN NaN NaN NaN
2 M d 1.0 NaN N d 1.0 NaN NaN NaN NaN NaN
3 M c 1.0 NaN O c 1.0 NaN NaN NaN NaN NaN
4 O e 1.0 NaN NaN NaN NaN NaN NaN NaN NaN NaN
5 M a 2.0 2.0 NaN NaN NaN NaN NaN NaN NaN NaN
6 N a 2.0 NaN NaN NaN NaN NaN NaN NaN NaN NaN
Порядок 'TITLE' в столбце не важен, но 'DB' должны быть отсортированы в алфавитном порядке слева направо и нольвсегда в конце.