【发布时间】:2021-07-12 02:31:15
【问题描述】:
我想根据以下状态分配付款:
付款:
cust_id name date amount
0 A Edward 2021-01-01 3000
1 B Henry 2021-01-01 5000
2 C Ferth 2021-02-01 1000
状态:
cust_id contract_id state1 state2 state3
0 A 1 Alabama Alaska Arizona
1 A 2 Indiana Alabama Nebraska
2 B 3 Alabama NaN Arizona
3 C 4 Alaska Nebraska NaN
4 C 5 NaN Maine Nebraska
客户可能至少有一份合同,每份合同涵盖不同的状态。每个状态都必须被计算,并且那些出现两次的状态将在计算比率时被计算两次,依此类推。然后该比率将乘以金额以获得每个州的分配金额。
输出:
cust_id name date state ratio amount
0 A Edward 2021-01-01 Alabama 0.333333 1000
1 A Edward 2021-01-01 Alaska 0.166667 500
2 A Edward 2021-01-01 Arizona 0.166667 500
3 A Edward 2021-01-01 Indiana 0.166667 500
4 A Edward 2021-01-01 Nebraska 0.166667 500
5 B Henry 2021-01-01 Alabama 0.500000 2500
6 B Henry 2021-01-01 Arizona 0.500000 2500
7 C Ferth 2021-02-01 Alaska 0.250000 250
8 C Ferth 2021-02-01 Nebraska 0.500000 500
9 C Ferth 2021-02-01 Maine 0.250000 250
【问题讨论】: