熊猫库中的合并功能

时间:2020-01-15 02:21:32

标签: python merge missing-data

我正在尝试基于单个列合并两个数据帧。此列包含以“ +”开头的值。合并功能对于所有其他行均适用,但带有加号的行除外。 示例:

      df1                             df2                    df3(expected Output)
Key   Cost  Conversion         Key   avg cost  Revenue        Key   Cost  Revenue  
AAA   12.23     2              +BBB  22.33     1000           AAA   12.23   1000
+BBB  26.24     1              AAA   92.63     5689           +BBB  26.24   5689    
CCC   15.48     0              DDD   35.68     4567           CCC   15.48   4567 

df3(obtained Output)
Key   Cost  Revenue  
AAA   12.23   1000
+BBB  26.24       
CCC   15.48   4567 

res = df1.merge(df2[['Key', 'Revenue']], on='Key',left_index=True, how = 'left'

1 个答案:

答案 0 :(得分:0)

我似乎无法复制您的结果

df1.merge(df2, on='Key')

    Key   Cost  Conversion  avg_cost  Revenue
0   AAA  12.23           2     92.63     5689
1  +BBB  26.24           1     22.33     1000

df2 = pd.read_clipboard()

    Key  avg_cost  Revenue
0  +BBB     22.33     1000
1   AAA     92.63     5689
2   CCC     35.68     4567

df1.merge(df2, on='Key')

    Key   Cost  Conversion  avg_cost  Revenue
0   AAA  12.23           2     92.63     5689
1  +BBB  26.24           1     22.33     1000
2   CCC  15.48           0     35.68     4567