【发布时间】:2021-06-04 18:28:09
【问题描述】:
我有一张桌子:
ID GroupID Contact Subject Score
10 32 8017 5 77
11 15 5019 1 80
12 32 8018 3 62
13 17 8870 9 63
14 49 8018 11 72
15 19 8305 7 93
16 22 8029 11 88
只要GroupID、Contact 和Subject 三个字段中的每一个之间有共同的值,我希望得到每个ID 的Score 的总和,以及共同的ID .
例如,
- ID
10与 ID12相关联,因为它们具有相同的GroupID。 - ID
12随后与 ID14相关联,因为它们具有相同的Contact。 - ID
14随后与 ID16相关联,因为它们具有相同的Subject。 - 因此,
Sum_Score的 ID10、12、14和16= 77 + 62 + 72 + 88 = 299
输出:
ID GroupID Contact Subject Score Sum_Score Common_IDs
10 32 8017 5 77 299 (10, 12, 14, 16)
11 15 5019 1 80 80 (11)
12 32 8018 3 62 299 (10, 12, 14, 16)
13 17 8870 9 63 63 (13)
14 49 8018 11 72 299 (10, 12, 14, 16)
15 19 8305 7 93 93 (15)
16 22 8029 11 88 299 (10, 12, 14, 16)
【问题讨论】:
标签: sql pandas recursion join aggregate