From 6b5904ecf7ddea0e989fbb41667239f276b4f194 Mon Sep 17 00:00:00 2001 From: Sander Roosendaal Date: Tue, 4 Jul 2017 20:29:17 +0200 Subject: [PATCH] some bug fixes --- rowers/datautils.py | 11 +++++++++++ rowers/templates/analysis.html | 1 + rowers/utils.py | 8 ++++++-- rowers/views.py | 2 +- 4 files changed, 19 insertions(+), 3 deletions(-) diff --git a/rowers/datautils.py b/rowers/datautils.py index 8cdde524..bdc5ac2f 100644 --- a/rowers/datautils.py +++ b/rowers/datautils.py @@ -164,6 +164,17 @@ def getcp(dfgrouped,logarr): delta = pd.Series(delta,name='Delta') cpvalue = pd.Series(cpvalue,name='CP') + + cpdf = pd.DataFrame({ + 'delta':delta, + 'cpvalue':cpvalue + }) + + cpdf.dropna(axis=0, how='any',inplace=True) + + delta = cpdf['delta'] + cpvalue = cpdf['cpvalue'] + return delta,cpvalue,avgpower def getmaxwattinterval(tt,ww,i): diff --git a/rowers/templates/analysis.html b/rowers/templates/analysis.html index 04fb8f1c..4eae9987 100644 --- a/rowers/templates/analysis.html +++ b/rowers/templates/analysis.html @@ -100,6 +100,7 @@ {% if user.rower.rowerplan == 'pro' or user.rower.rowerplan == 'coach' %} Multi Compare {% else %} + Multi Compare {% endif %}

diff --git a/rowers/utils.py b/rowers/utils.py index 6e788b7c..526dd327 100644 --- a/rowers/utils.py +++ b/rowers/utils.py @@ -77,11 +77,14 @@ def geo_distance(lat1,lon1,lat2,lon2): def isbreakthrough(delta,cpvalues,p0,p1,p2,p3,ratio): - pwr = p0/(1+delta/p2) - pwr += p1/(1+delta/p3) + pwr = abs(p0)/(1+(delta/abs(p2))) + pwr += abs(p1)/(1+(delta/abs(p3))) pwr *= ratio + delta = delta.values + cpvalues = cpvalues.values + res = np.sum(cpvalues>pwr) btdf = pd.DataFrame( @@ -92,6 +95,7 @@ def isbreakthrough(delta,cpvalues,p0,p1,p2,p3,ratio): } ) + btdf.sort_values('delta',axis=0,inplace=True) diff --git a/rowers/views.py b/rowers/views.py index e61d7822..61be6723 100644 --- a/rowers/views.py +++ b/rowers/views.py @@ -2926,7 +2926,7 @@ def otwrankings_view(request,theuser=0, if len(thesecs) != 0: - maxt = 2*pd.Series(thesecs).max() + maxt = 1.05*pd.Series(thesecs).max() else: maxt = 1000.