Слияние Pandas: невозможно использовать имя существующего столбца для столбца индикатора

#python #pandas

#python #pandas

Вопрос:

У меня есть два фрейма данных:

 df
side    amount  price   fee datetime    symbol  account_id  order_id    trade_id    exchange
4511    buy 4397.426832 6.84    4.397427    2020-08-18 13:08:15 xrpmxn  prod_xrpmxn_bitso   TX0s5HpiHH0C83xZ    17731587    bitso
4512    buy 1.397976    6.84    0.001398    2020-08-18 13:05:02 xrpmxn  prod_xrpmxn_bitso   TX0s5HpiHH0C83xZ    17731587    bitso
4513    buy 601.175192  6.84    0.601175    2020-08-18 13:04:00 xrpmxn  prod_xrpmxn_bitso   TX0s5HpiHH0C83xZ    17731587    bitso
4514    buy 10000.000000    6.86    10.000000   2020-08-18 11:34:35 xrpmxn  prod_xrpmxn_bitso   TX0s5HpiHH0C83xZ    17731587    bitso
4515    buy 300.000000  6.87    0.300000    2020-08-18 09:31:00 xrpmxn  prod_xrpmxn_bitso   TX0s5HpiHH0C83xZ    17731587    bitso

df_prod

ts  exchange    symbol  trade_id    order_id    side    price   amount  account_id  fee
4308    2020-09-16 16:20:50.307 bitso   xrpmxn  18011784    Gtr8LC61Vdv9e1tP    buy 5.1639  49.000000   prod_xrpmxn_bitso   49.000000
4309    2020-09-16 16:21:54.502 bitso   xrpmxn  18011803    Gtr8LC61Vdv9e1tP    buy 5.1639  52.828604   prod_xrpmxn_bitso   0.052829
4310    2020-09-16 16:23:05.198 bitso   xrpmxn  18011853    Gtr8LC61Vdv9e1tP    buy 5.1639  29898.171396    prod_xrpmxn_bitso   29.898171
4311    2020-09-16 16:25:46.094 bitso   xrpmxn  18011893    cHjL6T0emme2yO8K    buy 5.1559  14347.930935    prod_xrpmxn_bitso   14.347931
4312    2020-09-16 16:27:22.724 bitso   xrpmxn  18011914    jbrHspMDN6mSSoTl    buy 5.1544  138.738364  prod_xrpmxn_bitso   0.138738
  

Я пытаюсь сравнить, существует ли каждая строка в df_prod в df или нет, я попробовал следующее:

 import numpy as np
df = pd.merge(df, df_prod, on=['amount','price'], how='left', indicator='Exist')

df['Exist'] = np.where(df.Exist == 'both', True, False)
print (df)
  

Но тогда у меня появляется ошибка заголовка, и я этого не понимаю, есть идеи, почему? Спасибо!

Ответ №1:

В заголовке говорится, что у вас уже есть Exist столбец в любом из фреймов данных. Попробуйте indicator='_exist' .