擅长:python、mysql、java
<p>我会使用合并键:</p>
<p>对于此解决方案,将数据帧A作为dfA,将数据帧作为dfB</p>
<pre><code> df_result = pd.merge(dfA, dfB, how='inner', on=['Department','Speciality','TargetMonth'])
</code></pre>
<p>这将基于键['Department'、'Speciality'、'TargetMonth']将数据帧组合在一起,并将生成一个数据帧,其中键出现在两个数据帧中(how='inner')。在</p>
<p>即,如果dfB中有一个密钥是:</p>
^{pr2}$
<p>此值不会出现在数据帧df_result中。更多信息可以在这里找到-<a href="https://pandas.pydata.org/pandas-docs/stable/user_guide/merging.html" rel="nofollow noreferrer">https://pandas.pydata.org/pandas-docs/stable/user_guide/merging.html</a></p>
<p>然后使用Pandas矢量化的解决方案:</p>
<pre><code> df_result['Result'] = df_result['Capacity'] - df_result['Required']
</code></pre>