Python 如何广播到多索引

Python 如何广播到多索引,python,arrays,pandas,multi-index,Python,Arrays,Pandas,Multi Index,我有两个panda数组,A和B,它们是groupby操作的结果。A有一个由分位数和日期组成的两级多索引。B只有一个日期索引 在两者之间,日期索引匹配(在A的每个分位数索引内) “广播”B是否有一个标准的Pandas函数或习惯用法,这样它的多索引会有一个额外的级别,与a的第一个多索引级别相匹配?如果你只想做简单的算术运算,我认为像a.div(B,level='date')这样的方法应该有效 或者,您可以执行类似于B.reindex(A.index,level='date')的操作来手动匹配索引。不

我有两个panda数组,A和B,它们是groupby操作的结果。A有一个由分位数和日期组成的两级多索引。B只有一个日期索引

在两者之间,日期索引匹配(在A的每个分位数索引内)


“广播”B是否有一个标准的Pandas函数或习惯用法,这样它的多索引会有一个额外的级别,与a的第一个多索引级别相匹配?

如果你只想做简单的算术运算,我认为像
a.div(B,level='date')
这样的方法应该有效


或者,您可以执行类似于
B.reindex(A.index,level='date')
的操作来手动匹配索引。

不幸的是,这不是一个简单的算术运算。第二个建议根本不起作用,因为我的最终结果需要B拥有的两个多指标。我必须将a的副本广播到B的所有子组(基于索引级别0),对结果进行一些操作,然后为B的级别0多索引的每个索引返回一个结果。我想你说过a有多索引,B是一个简单的索引。如果B是具有多索引的,则可以执行a.reindex(B.index,level=0),计算结果,然后执行result.groupby(level=0)来计算聚合结果。也许我误解了你想做什么。不,你是对的。只需在我的评论中翻转“A”和“B”。因为他们在上面的问题中,他们是正确的。5分钟后我无法编辑我的评论。对不起,弄错了。