Конкатенация MultiIndex Dataframes в Python - PullRequest
0 голосов
/ 08 мая 2018

У меня есть 2 кадра данных Multindex ( дата и тикер - индексы)

df_usdtbtc

                         close
date          ticker                                                     
2017-12-31    USDT_BTC   13769
2018-01-01    USDT_BTC   13351

и df_ethbtc :

                         close
date          ticker                                                     
2017-12-31    USDT_ETH   736
2018-01-01    USDT_ETH   754

Есть ли способ объединить, объединить или объединить эти 2 кадра данных, чтобы в результате получить этот кадр данных:

                         close
date          ticker                                                     
2017-12-31    USDT_BTC   13769
              USDT_ETH   736
2018-01-01    USDT_BTC   13351
              USDT_ETH   754

Чтобы помочь настроить кадры данных:

df_usdtbtc = {'dates':  [dtm(2018, 1, 1),dtm(2018, 1, 2)], 'ticker': ['USDT_BTC', 'USDT_BTC'],'close':[13769,13351]}
df_usdteth = {'dates':  [dtm(2018, 1, 1),dtm(2018, 1, 2)], 'ticker': ['USDT_ETH', 'USDT_ETH'],'close':[736,754]}
df_usdtbtc = pd.DataFrame(data=df_usdtbtc)
df_usdtbtc=df_usdtbtc.set_index(['dates','ticker'])
df_usdteth = pd.DataFrame(data=df_usdteth)
df_usdteth=df_usdteth.set_index(['dates','ticker'])

1 Ответ

0 голосов
/ 08 мая 2018

Используйте concat или DataFrame.append с sort_index:

df = pd.concat([df_usdtbtc, df_ethbtc]).sort_index()

Или:

df = df_usdtbtc.append(df_ethbtc).sort_index()

df = pd.concat([df_usdtbtc, df_ethbtc]).sort_index()
print (df)
                     close
date       ticker         
2017-12-31 USDT_BTC  13769
           USDT_ETH    736
2018-01-01 USDT_BTC  13351
           USDT_ETH    754
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...