我试图弄清楚如何从不同的数据集中划分两列,并按一个公用键进行分组,以获得一个百分比。
表格1
Index ID sum
0 100001 7
1 100002 8
2 100003 4
表2
Index ID TYPE sum
0 100001 A 7
1 100002 A 4
2 100002 B 4
3 100003 A 2
4 100003 B 2
我要划分变量sum
从table 1
由sum
从table 2
由分组ID
和TYPE
。
目的是获得下表,该表代表sum
byTYPE
和的百分比ID
。
表3
Index ID TYPE sum_percent
0 100001 A 1.0
1 100002 A 0.5
2 100002 B 0.5
3 100003 A 0.5
4 100003 B 0.5
我正在尝试一些代码来解决这个问题,就像下面这样,但是它会引发错误消息。问题似乎出在groupby
声明中。
`table_1[['sum']].groupby('ID')/table_2[['sum']].groupby('ID')`
你不需要groupby
; 您的操作更接近于merge
。在这种情况下,您可以从创建序列映射table1
:
s = table1.set_index('ID')['sum']
然后将其用于您的计算table2
:
table2['sum_percent'] = table2['sum'] / table2['ID'].map(s)
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句