如果项目在熊猫上相等,则合并两行

时间:2020-11-04 06:08:11

标签: python python-3.x pandas dataframe dataset

我有两个熊猫DataFrame:dffoo

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值。 问题在于,这样做会使程序停滞了很多时间,所以我想知道是否有办法使此程序更快,更有效。

0 个答案:

没有答案