MultiIndex Pandas

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了MultiIndex Pandas相关的知识,希望对你有一定的参考价值。

我想创建一个数据帧,将A除以B,并保持A的结构... I.E:

 A = {
        (43, 'p1'): 
             {
               '2019-12-01': 0.0318271824
             }, 
        (210, 'p1'): 
              {
                 '2019-12-01': 0.0318271824
               }
   }

B = {
        ('section1', 'p1'): 
             {
               '2019-12-01': '22', 
             }, 
        ('section2', 'p1'): 
            {
                 '2019-12-01': '22'
            }, 
       ('section3', 'p1'): 
            {
                 '2019-12-01': '22'
            }, 
       ('section4', 'p1'): 
            {
                 '2019-12-01': '22'
            },
    }

给予:

C = {
        (43, 'p1'): 
             {
               '2019-12-01': 22 / 0.0318271824
             }, 
        (210, 'p1'): 
              {
                 '2019-12-01': 22 / 0.0318271824
               }
   }

A和B是df.to_dict()的返回,我尝试使用以下方法进行此操作:

c = A.droplevel(0, 1).iloc[:, 0:].truediv(B.astype(float).droplevel(0, 1), axis=0)

唯一的问题是c不保留相同的结构,我失去了多索引...

答案

IIUC

A[:]=B.values.astype(float)/A.values
A
                   43          210
                    p1          p1
2019-12-01  691.233039  691.233039

以上是关于MultiIndex Pandas的主要内容,如果未能解决你的问题,请参考以下文章

Matplotlib:pandas MultiIndex DataFrame 的自定义代码

带有 MultiIndex Pandas 面板的切片函数

Pandas:使用 MultiIndex 列按不同列聚合

从 Pandas 中的 MultiIndex 创建数据框

Pandas:使用 MultiIndex 旋转数据框时出现 ValueError

使用 MultiIndex 时,如何将此 Pandas 列类型保留为日期时间?