<p>我有两个数据帧:df1和df2。我使用iterrows迭代df1,对于每一行中的特定字段,我在df2中查找与该字段匹配的行,并尝试以标量格式从df2中的该行中提取相应的值。每次我尝试这样做,最终都会得到另一个数据帧或序列,但我不能将该值用作标量。这是我最近的尝试:</p>
<pre><code>for index, row in df1.iterrows():
a = row[0]
b = df2.loc[(df2['name'] == a ), 'weight']
c = row[1] - b #this is where error happens
df1.set_value(index,'wtdif',c)
</code></pre>
<p>我得到了一个错误,因为在这个例子中'b'不是标量,如果我把它打印出来,这是它的一个例子。这里的'24'是它在df2中找到的行的索引。另一个令人困惑的地方是,我不能以任何方式索引“b”,即使它是一个序列(例如,b[0]创建了一个错误,b['weight']也是如此)</p>
^{pr2}$