Я хочу объединить строки в моем df, чтобы у меня была одна уникальная строка для каждого идентификатора / имени с другими значениями, суммированными (доход) или объединенными (тема и продукт). Однако там, где я объединяюсь, я не хочу, чтобы дубликаты появлялись.
Мой df похож на это:
ID Name Revenue Subject Product
123 John 125 Maths A
123 John 75 English B
246 Mary 32 History B
312 Peter 67 Maths A
312 Peter 39 Science A
Я использую следующий код для объединения строк в моем фрейме данных
def f(x): return ' '.join(list(x))
df.groupby(['ID', 'Name']).agg(
{'Revenue': 'sum', 'Subject': f, 'Product': f}
)
Это приводит к выводу, подобному этому:
ID Name Revenue Subject Product
123 John 200 Maths English A B
246 Mary 32 History B
312 Peter 106 Maths Science A A
Как я могу изменить свой код так, чтобы дубликаты были удалены в моей конкатенации? Таким образом, в приведенном выше примере последняя строка будет читать A
в Product, а не A A