Private
Public Access
1
0

improving correlation matrix

This commit is contained in:
Sander Roosendaal
2019-10-04 09:24:10 +02:00
parent 0656ed3a26
commit 65db7ee6d8
4 changed files with 62 additions and 25 deletions

View File

@@ -537,8 +537,39 @@ def clean_df_stats(datadf, workstrokesonly=True, ignorehr=True,
return datadf
def getstatsfields():
fielddict = {name:d['verbose_name'] for name,d in rowingmetrics}
# 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')
try:
fieldlist = [field for field, value in fielddict.iteritems()]
except AttributeError:
fieldlist = [field for field, value in fielddict.items()]
return fieldlist, fielddict
def getstatsfields_old():
# Get field names and remove those that are not useful in stats
fields = StrokeData._meta.get_fields()

View File

@@ -523,8 +523,8 @@ def statsdata(workouts, options):
# Create stats
stats = {}
fielddict.pop('workoutstate')
fielddict.pop('workoutid')
# fielddict.pop('workoutstate')
# fielddict.pop('workoutid')
for field,verbosename in fielddict.items():
@@ -544,15 +544,15 @@ def statsdata(workouts, options):
cor = datadf.corr(method='spearman')
cor.fillna(value=0,inplace=True)
cordict = {}
for field1,verbosename in fielddict.items():
for field1,verbosename1 in fielddict.items():
thedict = {}
for field2,verbosename in fielddict.items():
for field2,verbosename2 in fielddict.items():
try:
thedict[field2] = cor.loc[field1,field2]
thedict[verbosename2] = cor.loc[field1,field2]
except KeyError:
thedict[field2] = 0
thedict[verbosename2] = 0
cordict[field1] = thedict
cordict[verbosename1] = thedict
context = {
'stats':stats,
@@ -4208,8 +4208,10 @@ def cumstats(request,theuser=0,
# Create stats
stats = {}
fielddict.pop('workoutstate')
fielddict.pop('workoutid')
try:
fielddict.pop('pace')
except KeyError:
pass
for field,verbosename in fielddict.items():
thedict = {
@@ -4228,15 +4230,15 @@ def cumstats(request,theuser=0,
cor = datadf.corr(method='spearman')
cor.fillna(value=0,inplace=True)
cordict = {}
for field1,verbosename in fielddict.items():
for field1,verbosename1 in fielddict.items():
thedict = {}
for field2,verbosename in fielddict.items():
for field2,verbosename2 in fielddict.items():
try:
thedict[field2] = cor.loc[field1,field2]
thedict[verbosename2] = cor.loc[field1,field2]
except KeyError:
thedict[field2] = 0
thedict[verbosename2] = 0
cordict[field1] = thedict
cordict[verbosename1] = thedict
# set options form correctly
initial = {}

View File

@@ -2537,9 +2537,13 @@ def workout_stats_view(request,id=0,message="",successmessage=""):
stats = {}
fieldlist,fielddict = dataprep.getstatsfields()
fielddict.pop('workoutstate')
fielddict.pop('workoutid')
# fielddict.pop('workoutstate')
# fielddict.pop('workoutid')
try:
fielddict.pop('pace')
except KeyError:
pass
for field,verbosename in fielddict.items():
thedict = {
'mean':datadf[field].mean(),
@@ -2558,15 +2562,15 @@ def workout_stats_view(request,id=0,message="",successmessage=""):
cor = datadf.corr(method='spearman')
cor.fillna(value=0,inplace=True)
cordict = {}
for field1,verbosename in fielddict.items():
for field1,verbosename1 in fielddict.items():
thedict = {}
for field2,verbosename in fielddict.items():
for field2,verbosename2 in fielddict.items():
try:
thedict[field2] = cor.loc[field1,field2]
thedict[verbosename2] = cor.loc[field1,field2]
except KeyError:
thedict[field2] = 0
thedict[verbosename2] = 0
cordict[field1] = thedict
cordict[verbosename1] = thedict
# additional non-automated stats
otherstats = {}