This question already has answers here:
Pandas Merging 101
                                
                                    (3个答案)
                                
                        
                                2年前关闭。
            
                    
我正在寻找合并所有具有共同的'ORG_ID'列的3个数据框。 df1是我的原始数据帧,其org_id计数为154。我想将df1与df2和df3合并,以获取df1中每个组织ID的等级,并且在弄清楚如何执行此操作时遇到了麻烦。

我设法合并了df1和df2,但是由于df2中找不到70 org_id,但可以在df3中找到,所以它得到的新计数是84 org_id,而不是154。我无法弄清楚如何合并所有3个数据框,以便获得df1中所有154个org_id的等级。有任何想法吗?请记住,数据帧的大小各不相同,但我希望对df1中找到的所有154个原始Org_id具有评级。

Here was my code to merge df1 and df2 :
df4=pd.merge(df1, df2, left_on = 'ORG_ID', right_on = 'ORG_ID')

Here is a sample of what the dataframes look like:

df1:
Org_id   Name
123      House 1
457      House 3
876      House 16
567      House 56

df2:
Org_id   Name       Rating
123      House 1    10
457      House 3    5
857      House 87   6

df3:
Org_id   Name       Rating1   org_type        location     area
123      House 1    10        single family   Hamilton     Suburban
567      House 56   9         single family   Middletown   Suburban

最佳答案

df4 = df1.merge(df2, on='ORG_ID', how='left')
df5 = df4.merge(df3, on='ORG_ID', how='left')

df5

关于python - 根据df1- Pandas数据框中的列合并三个数据框,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/41984972/

10-14 06:44