From 8a79245ba6055fa57f397bd925fdebeb4a098c3b Mon Sep 17 00:00:00 2001 From: Sander Roosendaal Date: Sat, 24 Aug 2024 14:23:40 +0200 Subject: [PATCH] fix --- rowers/dataroutines.py | 4 ++-- rowers/views/workoutviews.py | 3 ++- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/rowers/dataroutines.py b/rowers/dataroutines.py index e2d63ef9..fd39a06d 100644 --- a/rowers/dataroutines.py +++ b/rowers/dataroutines.py @@ -2178,11 +2178,11 @@ def dataplep(rowdatadf, id=0, inboard=0.88, forceunit='lbs', bands=True, barchar df = df.with_columns((500./pl.col(' Stroke500mPace (sec/500m)')).alias(' AverageBoatSpeed (m/s)')) if ' WorkoutState' not in df.columns: df = df.with_columns((pl.lit(0)).alias(" WorkoutState")) - if df[" DriveTime (ms)"].mean() > 0: + if df[" DriveTime (ms)"].mean() is not None and df[" DriveTime (ms)"].mean() > 0: df = df.with_columns((100.*pl.col(" DriveTime (ms)")/(pl.col(" DriveTime (ms)")+pl.col(" StrokeRecoveryTime (ms)"))).alias("rhythm")) else: df = df.with_columns((pl.lit(0)).alias("rhythm")) - if df[" PeakDriveForce (lbs)"].mean() > 0: + if df[" PeakDriveForce (lbs)"].mean() is not None and df[" PeakDriveForce (lbs)"].mean() > 0: df = df.with_columns((pl.col(" AverageDriveForce (lbs)")/pl.col(" PeakDriveForce (lbs)")).alias("forceratio")) else: df = df.with_columns((pl.lit(0)).alias("forceratio")) diff --git a/rowers/views/workoutviews.py b/rowers/views/workoutviews.py index 70839e7e..cd956dec 100644 --- a/rowers/views/workoutviews.py +++ b/rowers/views/workoutviews.py @@ -13,6 +13,7 @@ from json.decoder import JSONDecodeError import ruptures as rpt from rowers.courses import getnearestcourses +from pandas.errors import IntCastingNaNError def default(o): # pragma: no cover if isinstance(o, numpy.int64): @@ -3451,7 +3452,7 @@ def workout_data_view(request, id=0): datadf.loc[:, 'power'] = datadf['power'].astype('int') datadf.loc[:, 'distance'] = datadf['distance'].astype('int') datadf.loc[:, 'spm'] = 10*datadf['spm'].astype('int')/10. - except KeyError: + except (KeyError, IntCastingNaNError): pass if request.method == 'POST':