Я надеюсь, что это то, что вы хотите сделать.создать pandas dataframe
с двумя диктовками, а затем найти сумму clicks
и impressions
.Смотрите макет ниже.Дайте мне знать, если это работает.
import pandas as pd
d1=[{'offerId': '1650', 'position': '15', 'clicksCount': 21},
{'offerId': '2323', 'position': '12', 'clicksCount': 14},
{'offerId': '2323', 'position': '14', 'clicksCount': 8},
{'offerId': '1621', 'position': '10', 'clicksCount': 7}]
d2=[{'offerId': '3207', 'position': '9', 'impressionsCount': 866},
{'offerId': '1650', 'position': '6', 'impressionsCount': 896},
{'offerId': '3207', 'position': '1', 'impressionsCount': 909},
{'offerId': '2323', 'position': '12'}]
combdf=df1.append([pd.DataFrame(d1), pd.DataFrame(d2)],sort=False)
combdf.groupby(['offerId', 'position']).sum()[["clicksCount", "impressionsCount"]].reset_index()
Результат ниже:
offerId position clicksCount impressionsCount
0 1621 10 14.0 0.0
1 1650 15 42.0 0.0
2 1650 6 0.0 896.0
3 2323 12 28.0 0.0
4 2323 14 16.0 0.0
5 3207 1 0.0 909.0
6 3207 9 0.0 866.0