【问题标题】:Combine two dataframes on one level of multiindex在一级多索引上组合两个数据帧
【发布时间】:2019-10-06 18:51:41
【问题描述】:

考虑两个数据框df_adf_bdf_a 有一个多索引。 df_b 有一个常规索引。 df_a 的多索引的第一级匹配df_b 的索引。我想将数据帧df_adf_b 相除(或加、减或乘),将df_a 的索引的第一级与df_b 的索引相匹配。

import pandas
df_a = pd.DataFrame(data=[1,2,8,4],
                    index=pd.MultiIndex.from_product([['A', 'B'], [1, 2]]))
df_b = pd.DataFrame(data=[2, 4], index=['A', 'B'])

df_a / df_b 操作(在需要任何编码之后)应该给出这样的结果

A 1  .5  
  2  1
B 1  2
  2  1

【问题讨论】:

    标签: python pandas multi-index


    【解决方案1】:

    IIUC divlevel

    df_a.div(df_b,axis=0,level=0)
    Out[30]: 
           0
    A 1  0.5
      2  1.0
    B 1  2.0
      2  1.0
    

    【讨论】:

    • 哇!没有比这更好的了。谢谢。
    猜你喜欢
    • 2019-08-11
    • 1970-01-01
    • 1970-01-01
    • 2018-06-24
    • 1970-01-01
    • 1970-01-01
    • 2020-12-21
    • 2019-01-19
    • 2023-03-20
    相关资源
    最近更新 更多