From 3bf512179c89e1f19d32092093404dde588da1f2 Mon Sep 17 00:00:00 2001 From: Sander Roosendaal Date: Fri, 19 May 2017 13:27:09 +0200 Subject: [PATCH] solved losing Empower data --- rowers/dataprep.py | 102 ++++++++++++++++++++++++++++----------------- rowers/forms.py | 7 ++-- rowers/views.py | 4 +- 3 files changed, 70 insertions(+), 43 deletions(-) diff --git a/rowers/dataprep.py b/rowers/dataprep.py index e18c8c8b..ec6a050e 100644 --- a/rowers/dataprep.py +++ b/rowers/dataprep.py @@ -730,11 +730,11 @@ def new_workout_from_df(r,df, csvfilename ='media/Fusion_'+timestr+'.csv' + df.rename(columns = columndict,inplace=True) starttimeunix = mktime(startdatetime.utctimetuple()) df[' ElapsedTime (sec)'] = df['TimeStamp (sec)'] df['TimeStamp (sec)'] = df['TimeStamp (sec)']+starttimeunix - print df.info() row = rrdata(df=df) row.write_csv(csvfilename,gzip=True) @@ -888,8 +888,9 @@ def getrowdata_db(id=0,doclean=False): if doclean: data = clean_df_stats(data,ignorehr=True) - data['averageforce'] = data['averageforce'] - data['peakforce'] = data['peakforce'] + # these two lines seem redundant ?? + #data['averageforce'] = data['averageforce'] + #data['peakforce'] = data['peakforce'] return data,row @@ -1106,10 +1107,13 @@ def datafusion(id1,id2,columns,offset): offsetmillisecs += offset.days*(3600*24*1000) df2['time'] = df2['time']+offsetmillisecs + keep1 = {c:c for c in set(df1.columns)} + for c in columns: keep1.pop(c) - + + for c in df1.columns: if not c in keep1: df1 = df1.drop(c,1,errors='ignore') @@ -1134,7 +1138,7 @@ def dataprep(rowdatadf,id=0,bands=True,barchart=True,otwpower=True, empower=True,inboard=0.88): if rowdatadf.empty: return 0 - + rowdatadf.set_index([range(len(rowdatadf))],inplace=True) t = rowdatadf.ix[:,'TimeStamp (sec)'] t = pd.Series(t-rowdatadf.ix[0,'TimeStamp (sec)']) @@ -1246,40 +1250,62 @@ def dataprep(rowdatadf,id=0,bands=True,barchart=True,otwpower=True, if empower: try: wash = rowdatadf.ix[:,'wash'] - catch = rowdatadf.ix[:,'catch'] - finish = rowdatadf.ix[:,'finish'] - peakforceangle = rowdatadf.ix[:,'peakforceangle'] - driveenergy = rowdatadf.ix[:,'driveenergy'] - arclength = (inboard-0.05)*(np.radians(finish)-np.radians(catch)) - if arclength.mean()>0: - drivelength = arclength - else: - drivelength = driveenergy/(averageforce*4.44822) - - slip = rowdatadf.ix[:,'slip'] - totalangle = finish-catch - effectiveangle = finish-wash-catch-slip - if windowsize > 3 and windowsize0: + drivelength = arclength + else: + drivelength = driveenergy/(averageforce*4.44822) + + try: + slip = rowdatadf.ix[:,'slip'] + except KeyError: + slip = 0*power + + totalangle = finish-catch + effectiveangle = finish-wash-catch-slip + if windowsize > 3 and windowsize