Private
Public Access
1
0

fixing cr

This commit is contained in:
2025-02-09 10:11:52 +01:00
parent f9ef78189f
commit 9131252630
3 changed files with 13 additions and 7 deletions

View File

@@ -557,6 +557,7 @@ def setcp(workout, background=False, recurrance=True):
return(df, df['delta'], df['cp'], df['cr']) return(df, df['delta'], df['cp'], df['cr'])
except KeyError: except KeyError:
return(df, df['delta'], df['cp'], 0*df['cp']) return(df, df['delta'], df['cp'], 0*df['cp'])
except Exception as e: except Exception as e:
try: try:
os.remove(filename) os.remove(filename)
@@ -772,10 +773,16 @@ def join_workouts(r, ids, title='Joined Workout',
def fetchcp_new(rower, workouts): def fetchcp_new(rower, workouts, spm=False):
data = [] data = []
cpcol = 'cp'
cpmin = 20
if spm:
cpcol = 'cr'
cpmin = 5
for workout in workouts: for workout in workouts:
df, delta, cpvalues, cpvalues_spm = setcp(workout) df, delta, cpvalues, cpvalues_spm = setcp(workout)
df = df.drop('id') df = df.drop('id')
@@ -784,6 +791,7 @@ def fetchcp_new(rower, workouts):
if not df.is_empty(): if not df.is_empty():
data.append(df) data.append(df)
if len(data) == 0: if len(data) == 0:
return pl.Series(dtype=pl.Float64), pl.Series(dtype=pl.Float64), pl.Series(dtype=pl.Float64), 0, pl.Series(dtype=pl.Float64), pl.Series(dtype=pl.Float64) return pl.Series(dtype=pl.Float64), pl.Series(dtype=pl.Float64), pl.Series(dtype=pl.Float64), 0, pl.Series(dtype=pl.Float64), pl.Series(dtype=pl.Float64)
if len(data) > 1: if len(data) > 1:
@@ -793,12 +801,12 @@ def fetchcp_new(rower, workouts):
try: try:
#df = df.group_by(pl.col("delta")).agg(pl.max("cp"), pl.max("workout"), pl.max("url")).sort("delta") #df = df.group_by(pl.col("delta")).agg(pl.max("cp"), pl.max("workout"), pl.max("url")).sort("delta")
df = df.groupby('delta').agg([ df = df.groupby('delta').agg([
pl.all().sort_by('cp').last(), pl.all().sort_by(cpcol).last(),
]) ])
except (KeyError, ColumnNotFoundError): # pragma: no cover except (KeyError, ColumnNotFoundError): # pragma: no cover
return pl.Series(dtype=pl.Float64), pl.Series(dtype=pl.Float64), pl.Series(dtype=pl.Float64), 0, pl.Series(dtype=pl.Float64), pl.Series(dtype=pl.Float64) return pl.Series(dtype=pl.Float64), pl.Series(dtype=pl.Float64), pl.Series(dtype=pl.Float64), 0, pl.Series(dtype=pl.Float64), pl.Series(dtype=pl.Float64)
df = df.filter(pl.col("cp")>20) df = df.filter(pl.col(cpcol)>cpmin)
try: try:
testje = df['cr'] testje = df['cr']

Binary file not shown.

View File

@@ -822,9 +822,8 @@ def crdata(workouts, options):
u = User.objects.get(id=userid) u = User.objects.get(id=userid)
r = u.rower r = u.rower
delta, cpvalue, crvalue, avgpower, workoutnames, urls = dataprep.fetchcp_new( delta, cpvalue, crvalue, avgpower, workoutnames, urls = dataprep.fetchcp_new(
r, workouts) r, workouts, spm=True)
powerdf = pl.DataFrame({ powerdf = pl.DataFrame({
'Delta': delta, 'Delta': delta,
@@ -1183,7 +1182,6 @@ def analysis_view_data(request, userid=0):
pass pass
if function == 'boxplot': if function == 'boxplot':
script, div = boxplotdata(workouts, options) script, div = boxplotdata(workouts, options)
elif function == 'trendflex': # pragma: no cover elif function == 'trendflex': # pragma: no cover