根据其他数据框索引在特定级别上重新索引多索引数据框

时间:2020-07-12 08:17:06

标签: python pandas

我有一个Multiindex数据框[id,currency]作为输入。我希望它被级别货币上的price数据框索引过滤。任何贡献将不胜感激。

balance数据框:

                balance
id   currency   
1    JPY        2322
     USD        w3r234
     KWN        23423
2    POPO       234234 
     USDC       3w4234
     BTC         54545
     ETH         2323412

price数据框:

JPY        0.3
KWN        0.5
POPO       0.2 
USDC       0.5
ETH        0.3

所需的输出是缩放后的balance数据帧:

                balance
id   currency   
1    JPY        2322
     KWN        23423
2    POPO       234234 
     USDC       3w4234
     ETH         2323412

我的代码:

idx = price.index
balance = balance.reindex(idx, level='currency', fill_value=0).sort_index()

1 个答案:

答案 0 :(得分:0)

访问所需级别的值并根据price数据框中的项目进行过滤:

df = balance[np.in1d(balance.index.get_level_values(1), price.index)]