Объединение фреймов данных на основе значения в имени строки и столбца - PullRequest
0 голосов
/ 14 февраля 2020

Я работаю с финансовыми данными и пытаюсь объединить два pandas фрейма данных.

В первом фрейме данных у меня есть информация о названии компании, коде тикера и дате.

    Date       Ticker     Company
0   2020-01-15 CHR.CO     Chr. Hansen
1   2020-01-15 PNDORA.CO  Pandora A/S

Во втором у меня есть дата и цены закрытия для некоторых акций данные даты.

    Date        CHR.CO       COLO-B.CO  DANSKE.CO   PNDORA.CO   VWS.CO
0   2020-01-15  89.5         89.5        187.39      54.4       552.0
1   2020-01-16  90           88.0        184.61      55.2       550.0

Как можно объединить эти два фрейма данных, чтобы я мог получить цену закрытия на первом фрейме данных?

Вот требуемый результат:

Date       Ticker     Company         Close_price
0   2020-01-15 CHR.CO     Chr. Hansen 89.5
1   2020-01-15 PNDORA.CO  Pandora A/S 54.4

Используя строку ниже, я объединяю два кадра данных по дате, но также получаю все тикеры и цену закрытия для всех компаний.

full = new_df.merge(stocks_close, on = "Date")

1 Ответ

2 голосов
/ 14 февраля 2020

Добавить DataFrame.melt до merge, а также указать оба столбца ["Date",'Ticker'] в параметре on:

df = stocks_close.melt(id_vars='Date', var_name='Ticker', value_name='Close_price')
full = new_df.merge(df, on = ["Date",'Ticker'])
print (full)
         Date     Ticker      Company  Close_price
0  2020-01-15     CHR.CO  Chr. Hansen         89.5
1  2020-01-15  PNDORA.CO  Pandora A/S         54.4
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...