Объединение нескольких фреймов данных и проверка правильности номеров go в одном столбце - PullRequest
1 голос
/ 21 апреля 2020

У меня есть несколько фреймов данных, которые имеют «грязную цену» и «фактор», которые я хочу иметь в одном столбце. Когда я пытаюсь сделать это, что происходит, когда я присоединяюсь ко второму фрейму данных, тогда pandas создает новые «Dirty Price_x» и «Factor_x», но я не хочу, чтобы новые столбцы были объединены в один и тот же столбец, который соответствует критерии, которые я определяю.

Вот что я сделал:

df = df.merge(gs[['CUSIP', 'temp_Counterparty','Dirty Price','Factor']], how = 'left', on = ['CUSIP', 'temp_Counterparty'])
df = df.merge(nomura[['CUSIP', 'temp_Counterparty','Dirty Price','Factor']], how = 'left', on = ['CUSIP', 'temp_Counterparty'])

Есть ли что-то, что я здесь делаю неправильно?

1 Ответ

1 голос
/ 21 апреля 2020

Поскольку gs и nomura не используют одну и ту же комбинацию CUSIP и Counterpary, вы можете объединить эти два кадра данных и затем выполнить слияние

df_concat = pd.concat([ gs[['CUSIP', 'temp_Counterparty','Dirty Price','Factor']] , 
                        nomura[['CUSIP', 'temp_Counterparty','Dirty Price','Factor']]
                      ], axis = 0)


df = df.merge(df_concat, how='left', on=['CUSIP', 'temp_Counterparty'])
...