私はこれに似たものを持っています
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
与える:
count1 count2
foo bar
1 A 6 7
2 A 2 9
4 B 6 7
5 B 4 6
8 B 5 6
また、同じ「foo」インデックスによって、別の場所から取得した合計のリストもあります。
totals = pd.DataFrame([2., 1., 1., 1., 10.])
totals.index = [1, 2, 4, 5, 8]
totals.index.names = ['foo']
totals
与える:
0
foo
1 2
2 1
4 1
5 1
8 10
dfのすべての列( count1とcount2 ) をtotalsにある foo の数で割るにはどうすればよいですか? (したがって、「foo」番号で一致させる必要があります)
私はこの質問をチェックしましたが、これでうまくいくはずですが、わかりませんでした。
私は試した
df.div(totals, axis = 0)
divのlevelオプションを変更しましたが、成功しませんでした。
いつもありがとうございます