Private
Public Access
1
0

adding gold medal durations

This commit is contained in:
Sander Roosendaal
2020-12-07 08:54:50 +01:00
parent 0bb0237aee
commit 939a3e27c0
7 changed files with 70 additions and 33 deletions

View File

@@ -102,27 +102,30 @@ import rowers.datautils as datautils
from pandas.core.groupby.groupby import DataError
def get_fitscore(workouts,kfitness):
def build_goldmedalstandards(workouts,kfitness):
dates = []
testpower = []
fatigues = []
fitnesses = []
data = []
fitscores = []
goldmedalstandards = []
goldmedaldurations = []
ids = []
for w in workouts:
fitscore,fitnesstestsecs = dataprep.fitscore(w.user,w)
goldmedalstandard,goldmedalseconds = dataprep.workout_goldmedalstandard(w)
ids.append(w.id)
fitscores.append(fitscore)
goldmedalstandards.append(goldmedalstandard)
goldmedaldurations.append(goldmedalseconds)
df = pd.DataFrame({'workout':ids,'fitscore':fitscores})
df = pd.DataFrame({'workout':ids,'goldmedalstandard':goldmedalstandards})
for w in workouts:
ids = [w.id for w in workouts.filter(date__gte=w.date-datetime.timedelta(days=kfitness),
date__lte=w.date)]
powerdf = df[df['workout'].isin(ids)]
powertest = powerdf['fitscore'].max()
powertest = powerdf['goldmedalstandard'].max()
dates.append(datetime.datetime.combine(w.date,datetime.datetime.min.time()))
testpower.append(powertest)
@@ -1918,7 +1921,7 @@ def fitnessfit_chart(workouts,user,workoutmode='water',startdate=None,
metricchoice='rscore',
k1=1,k2=1,p0=100,
modelchoice='tsb',
usefitscore=False):
usegoldmedalstandard=False):
TOOLS = 'save,pan,box_zoom,wheel_zoom,reset,tap,hover,crosshair'
@@ -1929,12 +1932,12 @@ def fitnessfit_chart(workouts,user,workoutmode='water',startdate=None,
fitnesstestsecs = fitnesstest*60
df = pd.DataFrame()
if not usefitscore:
if not usegoldmedalstandard:
dates,testpower,fatigues,fitnesses = get_testpower(
workouts,fitnesstestsecs,kfitness
)
else:
dates,testpower,fatigues,fitnesses = get_fitscore(
dates,testpower,fatigues,fitnesses = build_goldmedalstandards(
workouts,kfitness
)
# create CP data
@@ -2051,7 +2054,7 @@ def fitnessfit_chart(workouts,user,workoutmode='water',startdate=None,
formlabel = 'TSB'
rightaxlabel = 'Coggan CTL/ATL/TSB'
if usefitscore:
if usegoldmedalstandard:
legend_label = 'Test Score'
yaxlabel = 'Test Score'
else: