Private
Public Access
1
0

Stats page v2

This commit is contained in:
Sander Roosendaal
2017-02-06 15:07:24 +01:00
parent 38f7a59476
commit fb76710681
4 changed files with 153 additions and 45 deletions

View File

@@ -2638,30 +2638,36 @@ def workout_stats_view(request,id=0,message="",successmessage=""):
# Create stats
stats = {}
# Get field names and remove those that are not useful in stats
fieldnames = StrokeData._meta.get_all_field_names()
fieldnames.remove('workoutid')
fieldnames.remove('ergpace')
fieldnames.remove('hr_an')
fieldnames.remove('hr_tr')
fieldnames.remove('hr_at')
fieldnames.remove('hr_ut2')
fieldnames.remove('hr_ut1')
fieldnames.remove('time')
fieldnames.remove('distance')
fieldnames.remove('nowindpace')
fieldnames.remove('fnowindpace')
fieldnames.remove('fergpace')
fieldnames.remove('equivergpower')
fieldnames.remove('workoutstate')
fieldnames.remove('fpace')
fieldnames.remove('id')
fieldnames.remove('ftime')
fieldnames.remove('x_right')
fieldnames.remove('hr_max')
fieldnames.remove('hr_bottom')
# Get field names and remove those that are not useful in stats
fields = StrokeData._meta.get_fields()
fielddict = {field.name:field.verbose_name for field in fields}
print fielddict
fielddict.pop('workoutid')
fielddict.pop('ergpace')
fielddict.pop('hr_an')
fielddict.pop('hr_tr')
fielddict.pop('hr_at')
fielddict.pop('hr_ut2')
fielddict.pop('hr_ut1')
fielddict.pop('time')
fielddict.pop('distance')
fielddict.pop('nowindpace')
fielddict.pop('fnowindpace')
fielddict.pop('fergpace')
fielddict.pop('equivergpower')
fielddict.pop('workoutstate')
fielddict.pop('fpace')
fielddict.pop('pace')
fielddict.pop('id')
fielddict.pop('ftime')
fielddict.pop('x_right')
fielddict.pop('hr_max')
fielddict.pop('hr_bottom')
fielddict.pop('cumdist')
for field,verbosename in fielddict.iteritems():
thedict = {
'mean':datadf[field].mean(),
@@ -2670,9 +2676,23 @@ def workout_stats_view(request,id=0,message="",successmessage=""):
'max': datadf[field].max(),
'median': datadf[field].median(),
'firstq':datadf[field].quantile(q=0.25),
'thirdq':datadf[field].quantile(q=0.75),
'verbosename':verbosename,
}
stats[field] = thedict
stats[field] = thedict
# Create a dict with correlation values
cor = datadf.corr()
cor.fillna(value=0,inplace=True)
cordict = {}
for field1,verbosename in fielddict.iteritems():
thedict = {}
for field2,verbosename in fielddict.iteritems():
try:
thedict[field2] = cor.ix[field1,field2]
except KeyError:
thedict[field2] = 0
cordict[field1] = thedict
return render(request,
@@ -2680,6 +2700,7 @@ def workout_stats_view(request,id=0,message="",successmessage=""):
{
'stats':stats,
'workout':row,
'workstrokesonly':workstrokesonly,
'cordict':cordict,
})