回答此问题可获得 20 贡献值,回答如果被采纳可获得 50 分。
<p>我有类似的东西</p>
<pre><code>df = pd.DataFrame(np.random.randint(2, 10, size = (5, 2)))
df.index = pd.MultiIndex.from_tuples([(1, 'A'), (2, 'A'), (4, 'B'),
(5, 'B'), (8, 'B')])
df.index.names = ['foo', 'bar']
df.columns = ['count1', 'count2']
df
</code></pre>
<p>它给出了:</p>
^{pr2}$
<p>我也有一个总数的列表-从其他地方获得-通过相同的“foo”索引:</p>
<pre><code>totals = pd.DataFrame([2., 1., 1., 1., 10.])
totals.index = [1, 2, 4, 5, 8]
totals.index.names = ['foo']
totals
</code></pre>
<p>它给出了:</p>
<pre><code> 0
foo
1 2
2 1
4 1
5 1
8 10
</code></pre>
<p>如何将<em>df</em>的所有列(<em>count1</em>和<em>count2</em>)除以<em>totals</em>中的foo数?(因此,我需要根据“foo”编号进行匹配)</p>
<p>我检查了<a href="https://stackoverflow.com/questions/19501510/divide-entire-pandas-multiindex-dataframe-by-dataframe-variable">this question</a>,看起来它应该能做到这一点,但我还是想不出来。在</p>
<p>我试过了</p>
<pre><code>df.div(totals, axis = 0)
</code></pre>
<p>并更改<em>div</em>中的<em>level</em>选项,但没有成功。在</p>
<p>一如既往,非常感谢您抽出时间</p>