我有 2 个 Multiindex 数据帧(date 和 ticker 是索引)
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
有没有什么方法可以合并、连接或连接这两个数据帧以得到这个数据帧:
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'])
最佳答案
使用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
关于python-3.x - 在 Python 中连接 MultiIndex 数据帧,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50238960/