我什至不确定我的措辞是否正确,但我很难理解这一点。我有一组组、描述、个人和数字的数据集。有些人可以在不同的群体中。有些可以有相同的描述。一个示例可能如下所示:
GROUP A DESCRIPTION A PERSON A NUMBER
GROUP A DESCRIPTION A PERSON B NUMBER
GROUP B DESCRIPTION A PERSON C NUMBER
GROUP C DESCRIPTION B PERSON A NUMBER
我试图完成的是为组/描述中的每个人获得一定的百分比。所以首先,我遍历数据并添加到一个数组中。然后我用它来创建一个默认字典。
for row in data:
l.append([group, description, person, number])
d = defaultdict(int)
for item in l:
d[item[0], item[1]] += item[2]
for k,v in d.iteritems():
print k,v
>>(group, description) (sum of numbers)
我需要从这里做的是我感到困惑的地方。这是我正在使用的一个实际示例:
GROUP A DESCRIPTION A PERSON A 1.14
GROUP A DESCRIPTION A PERSON B 1.14
GROUP A DESCRIPTION A PERSON C 0.36
GROUP A DESCRIPTION A PERSON D 1.07
所以我得到了这些数字的总和,3.71。我的下一步是在该组中选择一个人,然后将他们的人数除以他们组的总数。以上面那个组中的 PERSON C 为例,我会得到 0.36/3.71 = 0.097。我不知道如何将它放入我的代码中,但它似乎一点也不难——但我只是没有看到它。在此之后我还有其他几个步骤,但我认为一旦我知道如何获得这个特定百分比,我就可以弄清楚其余的。