我有类似的东西
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
它给出了:
^{pr2}$我也有一个总数的列表-从其他地方获得-通过相同的“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”编号进行匹配)
我检查了this question,看起来它应该能做到这一点,但我还是想不出来。在
我试过了
df.div(totals, axis = 0)
并更改div中的level选项,但没有成功。在
一如既往,非常感谢您抽出时间
使用来自
totals[0]
的values
列表可以:但它没有考虑
^{pr2}$totals
的索引。不知道为什么这样不行:尝试:
同时:
^{pr2}$相关问题 更多 >
编程相关推荐