擅长:python、mysql、java
<p>嗯,当我对我的代码进行更改时,我仍然得到“IndexError:single positional indexer is outbounds”。在</p>
<p>你的建议很有道理,也很管用,谢谢你的发帖。我写了一个快速测试脚本来验证修复,它确实起到了很好的作用。我会把代码贴在这里,以防有人好奇。在</p>
<p>我在这里遗漏了一些东西,我只需要继续研究到底是什么错了,我的下一个问题应该是什么。。。在</p>
<pre><code>import pandas as pd
import numpy as np
def foo(df1,df2):
df1['D'] = 0
for index,row in df1.iterrows():
name = row[2] #for some reason name ends up as column 3 in this dataframe rather than column 0? whatever, not important, but strange
temp = df2.loc[(df2['name'] == name), 'weight']
x = row[3] + temp.iloc[0] #
df1.set_value(index,'D',x)
print df1
df1 = pd.DataFrame({'name' : ['alex','bob', 'chris'], 'weight' : [140,150,160], 'A' : ['1','2','3'], 'B' : ['4','5','6']})
df2 = pd.DataFrame({'name' : ['alex','bob', 'chris'], 'weight' : [180,190,200], 'C' : ['1','2','3'], 'D' : ['4','5','6']})
print df1
print df2
foo(df1,df2)
</code></pre>