Функция слияния в библиотеке pandas - PullRequest
0 голосов
/ 15 января 2020

Я пытаюсь объединить два фрейма данных на основе одного столбца. Этот столбец содержит значения, начинающиеся с «+». Функция слияния отлично работает для всех остальных строк, кроме строк, имеющих знак плюс. Пример:

      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 голосов
/ 15 января 2020

Я не могу воспроизвести ваш результат

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
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...