bug fix zeropower
This commit is contained in:
@@ -1037,8 +1037,6 @@ def fetchcp_new(rower,workouts):
|
||||
if len(data)>1:
|
||||
df = pd.concat(data,axis=0)
|
||||
|
||||
print(df)
|
||||
|
||||
df = df = df[df['cp'] == df.groupby(['delta'])['cp'].transform('max')]
|
||||
|
||||
|
||||
@@ -1054,6 +1052,8 @@ def setcp(workout,background=False):
|
||||
job = myqueue(queuelow,handle_setcp,strokesdf,filename,workout.id)
|
||||
return job.id
|
||||
|
||||
|
||||
|
||||
if not strokesdf.empty:
|
||||
totaltime = strokesdf['time'].max()
|
||||
try:
|
||||
|
||||
@@ -522,11 +522,13 @@ def cpdata(workouts, options):
|
||||
|
||||
ids = [w.id for w in workouts]
|
||||
delta, cpvalue, avgpower,workoutnames = dataprep.fetchcp_new(r,workouts)
|
||||
|
||||
powerdf = pd.DataFrame({
|
||||
'Delta':delta,
|
||||
'CP':cpvalue,
|
||||
'workout':workoutnames,
|
||||
})
|
||||
|
||||
|
||||
|
||||
if powerdf.empty:
|
||||
|
||||
@@ -1278,8 +1278,9 @@ def workouts_join_select(request,
|
||||
def remove_power_view(request,id=0):
|
||||
r = getrower(request.user)
|
||||
workout = get_workout_by_opaqueid(request,id)
|
||||
|
||||
try:
|
||||
os.remove('media/cpdata{id}.parquet.gz'.format(id=workout.id))
|
||||
os.remove('media/cpdata_{id}.parquet.gz'.format(id=workout.id))
|
||||
except OSError:
|
||||
pass
|
||||
|
||||
@@ -1294,75 +1295,12 @@ def remove_power_view(request,id=0):
|
||||
powerperc=powerperc, powerzones=r.powerzones)
|
||||
row = rdata(f,rower=rr)
|
||||
row.df[' Power (watts)'] = 0
|
||||
row.write_csv(f)
|
||||
res = dataprep.dataprep(row.df, id=workout.id)
|
||||
cpdf,delta,cpvalues = dataprep.setcp(workout)
|
||||
if not cpdf.empty:
|
||||
if workouttype in mytypes.otwtypes:
|
||||
res, btvalues, res2 = utils.isbreakthrough(
|
||||
delta, cpvalues, r.p0, r.p1, r.p2, r.p3, r.cpratio)
|
||||
cprange = r.cprange
|
||||
firstdate = datetime.date.today()-datetime.timedelta(days=cprange)
|
||||
|
||||
workouts = Workout.objects.filter(
|
||||
date__gte=firstdate,
|
||||
workouttype__in=otwtypes,
|
||||
user = w.user,
|
||||
)
|
||||
dataprep.initiate_cp(r)
|
||||
|
||||
dd,cpcp,avgpower,workoutnames = dataprep.fetchcp_new(r,workouts)
|
||||
|
||||
powerdf = pd.DataFrame({
|
||||
'Delta':dd,
|
||||
'CP':cpcp,
|
||||
})
|
||||
|
||||
|
||||
powerdf = powerdf[powerdf['CP']>0]
|
||||
powerdf.dropna(axis=0,inplace=True)
|
||||
powerdf.sort_values(['Delta','CP'],ascending=[1,0],inplace=True)
|
||||
powerdf.drop_duplicates(subset='Delta',keep='first',inplace=True)
|
||||
|
||||
res2 = datautils.cpfit(powerdf)
|
||||
if len(powerdf) != 0:
|
||||
p1 = res2[0]
|
||||
r.p0 = p1[0]
|
||||
r.p1 = p1[1]
|
||||
r.p2 = p1[2]
|
||||
r.p3 = p1[3]
|
||||
r.cpratio = res2[3]
|
||||
r.save()
|
||||
|
||||
elif workouttype in mytypes.otetypes:
|
||||
res, btvalues, res2 = utils.isbreakthrough(
|
||||
delta, cpvalues, r.ep0, r.ep1, r.ep2, r.ep3, r.ecpratio)
|
||||
cprange = r.cprange
|
||||
firstdate = datetime.date.today()-datetime.timedelta(days=cprange)
|
||||
workouts = Workout.objects.filter(
|
||||
date__gte=firstdate,
|
||||
workouttype__in=otetypes,
|
||||
user = w.user,
|
||||
)
|
||||
dd,cpcp,avgpower,workoutnames = fetchcp_new(r,workouts)
|
||||
powerdf = pd.DataFrame({
|
||||
'Delta':dd,
|
||||
'CP':cpcp,
|
||||
})
|
||||
|
||||
|
||||
powerdf = powerdf[powerdf['CP']>0]
|
||||
powerdf.dropna(axis=0,inplace=True)
|
||||
powerdf.sort_values(['Delta','CP'],ascending=[1,0],inplace=True)
|
||||
powerdf.drop_duplicates(subset='Delta',keep='first',inplace=True)
|
||||
res2 = datautils.cpfit(powerdf)
|
||||
if len(powerdf) != 0:
|
||||
res = datautils.cpfit(powerdf)
|
||||
p1 = res2[0]
|
||||
r.ep0 = p1[0]
|
||||
r.ep1 = p1[1]
|
||||
r.ep2 = p1[2]
|
||||
r.ep3 = p1[3]
|
||||
r.ecpratio = res2[3]
|
||||
r.save()
|
||||
|
||||
url = reverse(r.defaultlandingpage,
|
||||
kwargs = {
|
||||
|
||||
Reference in New Issue
Block a user