From 60a68f5611f9d89fa7778b17ba9b62b3f2c7175a Mon Sep 17 00:00:00 2001 From: Sander Roosendaal Date: Mon, 12 Oct 2020 08:50:32 +0200 Subject: [PATCH] same basis of logarithmic delta axis --- rowers/dataprep.py | 32 +++++++++++++++++--------------- rowers/datautils.py | 5 ++++- 2 files changed, 21 insertions(+), 16 deletions(-) diff --git a/rowers/dataprep.py b/rowers/dataprep.py index f6d40497..d3d040c0 100644 --- a/rowers/dataprep.py +++ b/rowers/dataprep.py @@ -1034,10 +1034,10 @@ def fetchcp_new(rower,workouts): except KeyError: powermean = 0 - if powermean != 0: thesecs = totaltime maxt = 1.05 * thesecs + if maxt > 0: logarr = datautils.getlogarr(maxt) dfgrouped = strokesdf.groupby(['workoutid']) @@ -1052,6 +1052,8 @@ def fetchcp_new(rower,workouts): data.append(df) + if len(data) == 0: + return pd.Series(),pd.Series(),0 if len(data)>1: df = pd.concat(data,axis=0) @@ -1059,22 +1061,22 @@ def fetchcp_new(rower,workouts): df = df.sort_values(['delta']).reset_index() - dindex = df['id'].shift(1)-df['id'] - dpowerplus = df['cp'].shift(1)-df['cp'] - dpowermin = df['cp'].shift(-1)-df['cp'] - badrows = [] - badid = 0 - for index,row in df.iterrows(): - if dindex[index] != 0 and dpowermin[index] > 0: - badrows.append(index) - badid = row['id'] - elif row['id'] == badid: - badrows.append(index) - else: - badid = 0 + #dindex = df['id'].shift(1)-df['id'] + #dpowerplus = df['cp'].shift(1)-df['cp'] + #dpowermin = df['cp'].shift(-1)-df['cp'] + #badrows = [] + #badid = 0 + #for index,row in df.iterrows(): + # if dindex[index] != 0 and dpowermin[index] > 0: + # badrows.append(index) + # badid = row['id'] + # elif row['id'] == badid: + # badrows.append(index) + # else: + # badid = 0 - df = df.drop(index = badrows) + #df = df.drop(index = badrows) return df['delta'],df['cp'],0 diff --git a/rowers/datautils.py b/rowers/datautils.py index 7cc434d7..554ea19e 100644 --- a/rowers/datautils.py +++ b/rowers/datautils.py @@ -108,7 +108,10 @@ def cpfit(powerdf): def getlogarr(maxt): maxlog10 = np.log10(maxt-5) - logarr = np.arange(50)*maxlog10/50. + #print(maxlog10,round(maxlog10)) + aantal = 10*round(maxlog10) + logarr = np.arange(aantal+1)/10. + res = [] for la in logarr: try: