擅长:python、mysql、java
<p>这里有一个解决方案:</p>
<pre><code>pvt1 = df.pivot(index='Item_Name', columns='Source1', values='Price1').reset_index()
pvt2 = df.pivot(index='Item_Name', columns='Source2', values='Price2').reset_index()
pvt = pd.merge(pvt1, pvt2, on='Item_Name')
</code></pre>
<p>这给了我们:</p>
<pre><code> Item_Name website1_x website3 website1_y website2
0 Soft_Drink 1.5 NaN NaN 2.5
1 Tea NaN 4.5 4.5 NaN
2 coffee 3.5 NaN NaN 3.5
</code></pre>
<p>然后,这是当前处理website1的代码,但需要修复,以便它作用于所有此类列:</p>
<pre><code>pvt['website1'] = pvt['website1_x'].combine_first(pvt['website1_y'])
pvt.drop(['website1_x', 'website1_y'], axis=1, inplace=True)
</code></pre>
<p>输出:</p>
<pre><code> Item_Name website3 website2 website1
0 Soft_Drink NaN 2.5 1.5
1 Tea 4.5 NaN 4.5
2 coffee NaN 3.5 3.5
</code></pre>