我有两个熊猫DataFrame:df
和foo
:
df
看起来像这样:
print(df.head())
# ID VAL
# 444444 4
# 555555 5
# 666666 6
# 777777 7
foo
看起来像这样:
print(foo.head())
# ID
# 777777
# 666666
# 555555
# 444444
我需要做的是在df['VAL']
中将每个ID
分配给对应的foo
,这样我就得到了一个df
和{{1} }合并在一起。
foo
我当前正在使用此代码:
print(foo.head())
# ID VAL
# 777777 7
# 666666 6
# 555555 5
# 444444 4
此代码的作用是对foo中的所有[s['VAL'] for i,t in foo.iterrows() for i,s in df.iterrows() if s['ID'] == t['ID']]
值进行迭代,并检查其是否等于df中的ID
,如果是,则为该行分配ID
值。
问题在于,这样做会使程序停滞了很多时间,所以我想知道是否有办法使此程序更快,更有效。