Skip to content

Instantly share code, notes, and snippets.

@WouterNieuwerth
Created February 9, 2020 18:36
Show Gist options
  • Save WouterNieuwerth/fb0e800214d76c43be9a69156f16c125 to your computer and use it in GitHub Desktop.
Save WouterNieuwerth/fb0e800214d76c43be9a69156f16c125 to your computer and use it in GitHub Desktop.
GPX analysis - step 8
# Here we loop over sections
for section in sections:
if df['distance_dis_3d'].sum() < section: # If the total distance of the workout is smaller then the section we're looking for we can skip this iteration.
continue
df_output = pd.DataFrame(columns=['date', 'section', 'filename', 'time', 'distance', 'minutes_per_kilometer', 'total_distance', 'total_time'])
for i in range(len(df_selected.index)):
df_section = df_selected[(df_selected['distance_cumsum'] - df_selected['distance_cumsum'].iat[i]) >= section]
if(len(df_section.index) != 0):
time = df_section['time_cumsum'].iat[0] - df_selected['time_cumsum'].iat[i]
distance_i = df_section['distance_cumsum'].iat[0] - df_selected['distance_cumsum'].iat[i]
minutes_per_kilometer = (time/60)/(distance_i/1000)
df_output = df_output.append({'date': df['time'].min(), 'section': section, 'filename': file, 'time': time, 'distance': distance_i, 'minutes_per_kilometer': minutes_per_kilometer, 'total_distance': df['distance_dis_3d'].sum(), 'total_time': df['time_delta'].sum()}, ignore_index=True)
s_best = df_output.loc[df_output['minutes_per_kilometer'].idxmin()]
df_final = df_final.append(s_best)
df_final['start_index_best_section'] = df_final.index
df_final = df_final.set_index(['filename','section'])
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment