擅长:python、mysql、java
<p>我希望这就是你想做的。用这两个dict创建<code>pandas dataframe</code>,然后求<code>clicks</code>和<code>impressions</code>的和。见下面的模型。让我知道它是否有效</p>
<pre><code>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()
</code></pre>
<p>结果如下:</p>
<pre><code>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
</code></pre>