give groups as parameters to team calculation to make evaluation independent of user data
This commit is contained in:
parent
abdf27372b
commit
aa8814b29b
2 changed files with 5 additions and 6 deletions
|
@ -87,8 +87,7 @@ Team evaluation
|
||||||
>>> resp01.values[qugroup] = resp01.getGroupedResult()[0]['score']
|
>>> resp01.values[qugroup] = resp01.getGroupedResult()[0]['score']
|
||||||
>>> resp03.values[qugroup] = resp03.getGroupedResult()[0]['score']
|
>>> resp03.values[qugroup] = resp03.getGroupedResult()[0]['score']
|
||||||
|
|
||||||
>>> teamData = resp01.getTeamResult(resp03.getGroupedResult(),
|
>>> teamData = resp01.getTeamResult([qugroup], [resp01, resp03])
|
||||||
... [resp01, resp03])
|
|
||||||
>>> teamData
|
>>> teamData
|
||||||
[{'average': 0.6666...}]
|
[{'average': 0.6666...}]
|
||||||
|
|
||||||
|
|
|
@ -125,14 +125,14 @@ class Response(object):
|
||||||
r['rank'] = ranks[idx]
|
r['rank'] = ranks[idx]
|
||||||
return result
|
return result
|
||||||
|
|
||||||
def getTeamResult(self, mine, teamData):
|
def getTeamResult(self, groups, teamData):
|
||||||
result = []
|
result = []
|
||||||
for idx, qgdata in enumerate(mine):
|
for idx, group in enumerate(groups):
|
||||||
values = [data.values.get(qgdata['group']) for data in teamData]
|
values = [data.values.get(group) for data in teamData]
|
||||||
values = [v for v in values if v is not None]
|
values = [v for v in values if v is not None]
|
||||||
#avg = sum(values) / len(teamData)
|
#avg = sum(values) / len(teamData)
|
||||||
avg = sum(values) / len(values)
|
avg = sum(values) / len(values)
|
||||||
result.append(dict(group=qgdata['group'], average=avg))
|
result.append(dict(group=group, average=avg))
|
||||||
ranks = getRanks([r['average'] for r in result])
|
ranks = getRanks([r['average'] for r in result])
|
||||||
for idx, r in enumerate(result):
|
for idx, r in enumerate(result):
|
||||||
r['rank'] = ranks[idx]
|
r['rank'] = ranks[idx]
|
||||||
|
|
Loading…
Add table
Reference in a new issue