回答此问题可获得 20 贡献值,回答如果被采纳可获得 50 分。
<p>以下是我的代码和2个数据帧:</p>
<pre class="lang-py prettyprint-override"><code>import pandas as pd
import numpy as np
df1 = pd.DataFrame(np.array([[1, 2, 3, 5, 2], [2, 2, 3, 5, 2], [3, 2, 3, 5, 2], [10, 2, 3, 5, 2]]),
columns=['ID', 'itemX_2', 'itemK_3', 'itemC_5', 'itemH_2'])
df2 = pd.DataFrame(np.array([[1,1,1, 2,2,2, 3,3,3, 10,10,10], [2,3,5, 2,3,5, 2,3,5, 2,3,5], [20,40,60, 80,100,200, 220,240,260, 500,505,520]]).T,
columns=['ID', 'Item_id', 'value_to_assign'])
</code></pre>
<p>基于df2,我想修改df1</p>
<p>预期产出:</p>
<pre class="lang-py prettyprint-override"><code>df_expected_output = pd.DataFrame(np.array([[1, 20, 40, 60, 20], [2, 80, 100, 200, 80], [3, 220, 240, 260, 220], [10, 500, 505, 520, 500]]),
columns=['ID', 'itemX_2', 'itemK_3', 'itemC_5', 'itemH_2'])
</code></pre>
<p>我通过迭代列和一些操作来完成。在我的例子中,我在数据帧中得到了更多的列和行,所以速度非常慢。有人知道如何快速高效地完成吗?谢谢</p>