diff --git a/rowers/tasks.py b/rowers/tasks.py index 653c5513..c3b7bf41 100644 --- a/rowers/tasks.py +++ b/rowers/tasks.py @@ -580,22 +580,34 @@ def handle_calctrimp(id, df = rowdata.df df['deltat'] = df[' ElapsedTime (sec)'].diff().abs() - duration = df['TimeStamp (sec)'].max()-df['TimeStamp (sec)'].min() - df[' Power (watts)'] = df[' Power (watts)'].abs() + df2 = df.copy() - df['pwr4'] = df[' Power (watts)']**(4.0) - pwr4mean = wavg(df,'pwr4','deltat') - pwrmean = wavg(df,' Power (watts)','deltat') + df2['time'] = df2[' ElapsedTime (sec)'] + df2['time'] = df2['time'].apply( + lambda x:timedelta(seconds=x) + ) + + duration = df['TimeStamp (sec)'].max()-df['TimeStamp (sec)'].min() + df2 = df2.resample('30s',on='time').mean() + + + df2[' Power (watts)'] = df2[' Power (watts)'].abs() + + df2['pwr4'] = df2[' Power (watts)']**(4.0) + # pwr4mean = wavg(df,'pwr4','deltat') + pwr4mean = df2['pwr4'].mean() + pwrmean = df2[' Power (watts)'].mean() + # pwrmean = wavg(df,' Power (watts)','deltat') if pwr4mean > 0: normp = (pwr4mean)**(0.25) else: normp = pwrmean - - intensityfactor = pwrmean/float(ftp) + intensityfactor = normp/float(ftp) tss = 100.*((duration*normp*intensityfactor)/(3600.*ftp)) + if sex == 'male': f = 1.92 else: