diff --git a/navipy/trajectories/__init__.py b/navipy/trajectories/__init__.py index 8051f6583fa29dc93bf16c66517a939eb173798d..8f5f3c7a7e2e592b1d80c274eb3bbf732df69a30 100644 --- a/navipy/trajectories/__init__.py +++ b/navipy/trajectories/__init__.py @@ -641,7 +641,13 @@ class Trajectory(pd.DataFrame): dtype=float) diffrow = self.diff() velocity.loc[:, ['dx', 'dy', 'dz']] = diffrow.loc[:, 'location'].values - for index_i, row in self.iterrows(): + # Look for true zeros in order to save time + true_zeros = diffrow == 0 + diffrow[true_zeros] = np.nan + velocity[true_zeros[self.rotation_mode]] = 0 + # Loop only on non true zeros + for index_i in diffrow.loc[:, self.rotation_mode].dropna().index: + row = self.loc[index_i, :] if self.rotation_mode == 'quaternion': raise NameError('Not implemented') else: