Как объединить повторяющиеся строки при объединении dfsPython

Программы на Python
Anonymous
Как объединить повторяющиеся строки при объединении dfs

Сообщение Anonymous »

Мои фреймы данных похожи на приведенные ниже
df1:

Код: Выделить всё

   user  name    length  job
0  5234  Ed      7       manager
1  4793  Mark    14      admin
2  9321  Nick    8       admin
3  8149  Duncan  3       admin
4  3742  John    9       admin
5  7315  Lucy    12      admin
6  6541  Heidi   25      admin
df 2:

Код: Выделить всё

   user  name    open  click
0  5234  Ed      3     1
1  4793  Mark
2  9321  Nick    5     4
3  8149  Duncan  1     0
4  8149  Duncan  2     1
5  3742  John    21    3
6  6541  Heidi   7     2
Мой желаемый результат:

Код: Выделить всё

   user  name    length  job      open click
0  5234  Ed      7       manager  3    1
1  4793  Mark    14      admin    NaN  Nan
2  9321  Nick    8       admin    5    4
3  8149  Duncan  3       admin    3    1
4  3742  John    9       admin    21   3
5  7315  Lucy    12      admin    NaN  NaN
6  6541  Heidi   25      admin    7    2
Сейчас я использую этот код:

Код: Выделить всё

df3  = pd.merge(df1, df2, left_on='user', right_on='user', how='left',
suffixes=('', '_y')).filter(regex='^(?!.*_y)')
Однако, когда я объединяю их с помощью этого кода, у меня получаются повторяющиеся строки для Дункана, а не одна строка. Как мне этого добиться, пожалуйста? Я должен добавить, что мои фактические dfs имеют длину в несколько сотен строк - большинство из них сливаются нормально, но некоторые дублируются.

Подробнее здесь: https://stackoverflow.com/questions/790 ... erging-dfs

Вернуться в «Python»