data = [{'startDate': 123, 'endDate': 456, 'campaignName': 'abc',
    'campaignCfid': 789, 'budgetImpressions': 10}, {'startDate': 123,
    'endDate': 456, 'campaignName': 'abc', 'campaignCfid': 789,
    'budgetImpressions': 50}, {'startDate': 456, 'endDate': 789,
    'campaignName': 'def', 'campaignCfid': 123, 'budgetImpressions': 80}]
df = pd.DataFrame(data)
grouped = df.groupby(['startDate', 'endDate', 'campaignCfid', 'campaignName']
    ).agg(sum)
print(grouped.reset_index().to_dict('records'))
Группировать и объединять список словарей в Python