Added fillna to pace and time calculations
This commit is contained in:
@@ -97,8 +97,8 @@ def nicepaceformat(values):
|
|||||||
return out
|
return out
|
||||||
|
|
||||||
def timedeltaconv(x):
|
def timedeltaconv(x):
|
||||||
if x<=0 or x>1e9:
|
# if x<=0 or x>1e9:
|
||||||
x=0
|
# x=0
|
||||||
|
|
||||||
dt = datetime.timedelta(seconds=x)
|
dt = datetime.timedelta(seconds=x)
|
||||||
|
|
||||||
@@ -227,7 +227,7 @@ def interactive_cpchart(thedistances,thesecs,theavpower,
|
|||||||
velo = thedistances/thesecs
|
velo = thedistances/thesecs
|
||||||
p = pd.Series(500./velo)
|
p = pd.Series(500./velo)
|
||||||
|
|
||||||
p2 = p.apply(lambda x: timedeltaconv(x))
|
p2 = p.fillna(method='ffil').apply(lambda x: timedeltaconv(x))
|
||||||
|
|
||||||
source = ColumnDataSource(
|
source = ColumnDataSource(
|
||||||
data = dict(
|
data = dict(
|
||||||
@@ -235,7 +235,7 @@ def interactive_cpchart(thedistances,thesecs,theavpower,
|
|||||||
duration = thesecs,
|
duration = thesecs,
|
||||||
spm = 0*theavpower,
|
spm = 0*theavpower,
|
||||||
tim = niceformat(
|
tim = niceformat(
|
||||||
thesecs.apply(lambda x: timedeltaconv(x))
|
thesecs.fillna(method='ffill').apply(lambda x: timedeltaconv(x))
|
||||||
),
|
),
|
||||||
|
|
||||||
power = theavpower,
|
power = theavpower,
|
||||||
@@ -257,7 +257,7 @@ def interactive_cpchart(thedistances,thesecs,theavpower,
|
|||||||
fitvelo = 500./fitp
|
fitvelo = 500./fitp
|
||||||
fitpower = 2.8*(fitvelo**3)
|
fitpower = 2.8*(fitvelo**3)
|
||||||
fitt = 10**fitx/fitvelo
|
fitt = 10**fitx/fitvelo
|
||||||
fitp2 = fitp.apply(lambda x: timedeltaconv(x))
|
fitp2 = fitp.fillna(method='ffill').apply(lambda x: timedeltaconv(x))
|
||||||
|
|
||||||
|
|
||||||
sourcepaul = ColumnDataSource(
|
sourcepaul = ColumnDataSource(
|
||||||
@@ -267,7 +267,7 @@ def interactive_cpchart(thedistances,thesecs,theavpower,
|
|||||||
power = fitpower,
|
power = fitpower,
|
||||||
spm = 0*fitpower,
|
spm = 0*fitpower,
|
||||||
tim = niceformat(
|
tim = niceformat(
|
||||||
fitt.apply(lambda x: timedeltaconv(x))
|
fitt.fillna(method='ffill').apply(lambda x: timedeltaconv(x))
|
||||||
),
|
),
|
||||||
pace = nicepaceformat(fitp2),
|
pace = nicepaceformat(fitp2),
|
||||||
)
|
)
|
||||||
@@ -299,14 +299,14 @@ def interactive_cpchart(thedistances,thesecs,theavpower,
|
|||||||
fitvelo = (fitpower/2.8)**(1./3.)
|
fitvelo = (fitpower/2.8)**(1./3.)
|
||||||
fitdist = fitt*fitvelo
|
fitdist = fitt*fitvelo
|
||||||
fitp = 500./fitvelo
|
fitp = 500./fitvelo
|
||||||
fitp2 = fitp.apply(lambda x: timedeltaconv(x))
|
fitp2 = fitp.fillna(method='ffill').apply(lambda x: timedeltaconv(x))
|
||||||
|
|
||||||
sourcecomplex = ColumnDataSource(
|
sourcecomplex = ColumnDataSource(
|
||||||
data = dict(
|
data = dict(
|
||||||
dist = fitdist,
|
dist = fitdist,
|
||||||
duration = fitt,
|
duration = fitt,
|
||||||
tim = niceformat(
|
tim = niceformat(
|
||||||
fitt.apply(lambda x: timedeltaconv(x))
|
fitt.fillna(method='ffill').apply(lambda x: timedeltaconv(x))
|
||||||
),
|
),
|
||||||
spm = 0*fitpower,
|
spm = 0*fitpower,
|
||||||
power = fitpower,
|
power = fitpower,
|
||||||
@@ -339,14 +339,14 @@ def interactive_cpchart(thedistances,thesecs,theavpower,
|
|||||||
|
|
||||||
p = 500./velo
|
p = 500./velo
|
||||||
|
|
||||||
p2 = p.apply(lambda x: timedeltaconv(x))
|
p2 = p.fillna(method='ffill').apply(lambda x: timedeltaconv(x))
|
||||||
|
|
||||||
source2 = ColumnDataSource(
|
source2 = ColumnDataSource(
|
||||||
data = dict(
|
data = dict(
|
||||||
duration = cpdata['Delta'],
|
duration = cpdata['Delta'],
|
||||||
power = cpdata['CP'],
|
power = cpdata['CP'],
|
||||||
tim = niceformat(
|
tim = niceformat(
|
||||||
cpdata['Delta'].apply(lambda x: timedeltaconv(x))
|
cpdata['Delta'].fillna(method='ffill').apply(lambda x: timedeltaconv(x))
|
||||||
),
|
),
|
||||||
dist = cpdata['Distance'],
|
dist = cpdata['Distance'],
|
||||||
pace = nicepaceformat(p2),
|
pace = nicepaceformat(p2),
|
||||||
@@ -578,10 +578,10 @@ def interactive_chart(id=0,promember=0):
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
t2 = t.apply(lambda x: timedeltaconv(x))
|
t2 = t.fillna(method='ffill').apply(lambda x: timedeltaconv(x))
|
||||||
|
|
||||||
|
|
||||||
p2 = p.apply(lambda x: timedeltaconv(x))
|
p2 = p.fillna(method='ffill').apply(lambda x: timedeltaconv(x))
|
||||||
|
|
||||||
source = ColumnDataSource(
|
source = ColumnDataSource(
|
||||||
data = dict(
|
data = dict(
|
||||||
@@ -779,7 +779,7 @@ def interactive_cum_flex_chart(theworkouts,promember=0,
|
|||||||
xaxmin = x1.min()
|
xaxmin = x1.min()
|
||||||
xaxmax = 1.0e3*xaxmax
|
xaxmax = 1.0e3*xaxmax
|
||||||
xaxmin = 1.0e3*xaxmin
|
xaxmin = 1.0e3*xaxmin
|
||||||
x1 = x1.apply(lambda x: timedeltaconv(x))
|
x1 = x1.fillna(method='ffill').apply(lambda x: timedeltaconv(x))
|
||||||
elif xparam=='distance':
|
elif xparam=='distance':
|
||||||
xaxmax = x1.max()
|
xaxmax = x1.max()
|
||||||
xaxmin = x1.min()
|
xaxmin = x1.min()
|
||||||
@@ -808,7 +808,7 @@ def interactive_cum_flex_chart(theworkouts,promember=0,
|
|||||||
|
|
||||||
if yparam1 == 'pace':
|
if yparam1 == 'pace':
|
||||||
y_axis_type = 'datetime'
|
y_axis_type = 'datetime'
|
||||||
y1 = y1.apply(lambda x: timedeltaconv(x))
|
y1 = y1.fillna(method='ffill').apply(lambda x: timedeltaconv(x))
|
||||||
|
|
||||||
|
|
||||||
time = thedata.ix[:,csvcolumns['time']]
|
time = thedata.ix[:,csvcolumns['time']]
|
||||||
@@ -854,10 +854,10 @@ def interactive_cum_flex_chart(theworkouts,promember=0,
|
|||||||
y1=y1,
|
y1=y1,
|
||||||
y2=y2,
|
y2=y2,
|
||||||
time=niceformat(
|
time=niceformat(
|
||||||
time.apply(lambda x: timedeltaconv(x))
|
time.fillna(method='ffill').apply(lambda x: timedeltaconv(x))
|
||||||
),
|
),
|
||||||
pace=nicepaceformat(
|
pace=nicepaceformat(
|
||||||
pace.apply(lambda x: timedeltaconv(x))
|
pace.fillna(method='ffill').apply(lambda x: timedeltaconv(x))
|
||||||
),
|
),
|
||||||
hr = hr,
|
hr = hr,
|
||||||
spm = spm,
|
spm = spm,
|
||||||
@@ -873,10 +873,10 @@ def interactive_cum_flex_chart(theworkouts,promember=0,
|
|||||||
y1=y1,
|
y1=y1,
|
||||||
y2=y2,
|
y2=y2,
|
||||||
time=niceformat(
|
time=niceformat(
|
||||||
time.apply(lambda x: timedeltaconv(x))
|
time.fillna(method='ffill').apply(lambda x: timedeltaconv(x))
|
||||||
),
|
),
|
||||||
pace=nicepaceformat(
|
pace=nicepaceformat(
|
||||||
pace.apply(lambda x: timedeltaconv(x))
|
pace.fillna(method='ffill').apply(lambda x: timedeltaconv(x))
|
||||||
),
|
),
|
||||||
hr = hr,
|
hr = hr,
|
||||||
spm = spm,
|
spm = spm,
|
||||||
@@ -1198,7 +1198,7 @@ def interactive_flex_chart2(id=0,promember=0,
|
|||||||
if xparam=='time':
|
if xparam=='time':
|
||||||
xaxmax = 1.0e3*x1.max()
|
xaxmax = 1.0e3*x1.max()
|
||||||
xaxmin = 1.0e3*x1.min()
|
xaxmin = 1.0e3*x1.min()
|
||||||
x1 = x1.apply(lambda x: timedeltaconv(x))
|
x1 = x1.fillna(method='ffill').apply(lambda x: timedeltaconv(x))
|
||||||
elif xparam=='distance':
|
elif xparam=='distance':
|
||||||
xaxmax = x1.max()
|
xaxmax = x1.max()
|
||||||
xaxmin = x1.min()
|
xaxmin = x1.min()
|
||||||
@@ -1233,7 +1233,7 @@ def interactive_flex_chart2(id=0,promember=0,
|
|||||||
if yparam1 == 'pace':
|
if yparam1 == 'pace':
|
||||||
y_axis_type = 'datetime'
|
y_axis_type = 'datetime'
|
||||||
y1mean = 1.0e3*y1mean
|
y1mean = 1.0e3*y1mean
|
||||||
y1 = y1.apply(lambda x: timedeltaconv(x))
|
y1 = y1.fillna(method='ffill').fillna(method='ffill').apply(lambda x: timedeltaconv(x))
|
||||||
|
|
||||||
|
|
||||||
time = rowdata.df.ix[:,csvcolumns['time']]
|
time = rowdata.df.ix[:,csvcolumns['time']]
|
||||||
@@ -1255,10 +1255,10 @@ def interactive_flex_chart2(id=0,promember=0,
|
|||||||
y1=y1,
|
y1=y1,
|
||||||
y2=y2,
|
y2=y2,
|
||||||
time=niceformat(
|
time=niceformat(
|
||||||
time.apply(lambda x: timedeltaconv(x))
|
time.fillna(method='ffill').apply(lambda x: timedeltaconv(x))
|
||||||
),
|
),
|
||||||
pace=nicepaceformat(
|
pace=nicepaceformat(
|
||||||
pace.apply(lambda x: timedeltaconv(x))
|
pace.fillna(method='ffill').apply(lambda x: timedeltaconv(x))
|
||||||
),
|
),
|
||||||
hr = hr,
|
hr = hr,
|
||||||
spm = spm,
|
spm = spm,
|
||||||
@@ -1278,10 +1278,10 @@ def interactive_flex_chart2(id=0,promember=0,
|
|||||||
y1=y1,
|
y1=y1,
|
||||||
y2=y2,
|
y2=y2,
|
||||||
time=niceformat(
|
time=niceformat(
|
||||||
time.apply(lambda x: timedeltaconv(x))
|
time.fillna(method='ffill').apply(lambda x: timedeltaconv(x))
|
||||||
),
|
),
|
||||||
pace=nicepaceformat(
|
pace=nicepaceformat(
|
||||||
pace.apply(lambda x: timedeltaconv(x))
|
pace.fillna(method='ffill').apply(lambda x: timedeltaconv(x))
|
||||||
),
|
),
|
||||||
hr = hr,
|
hr = hr,
|
||||||
spm = spm,
|
spm = spm,
|
||||||
@@ -1582,13 +1582,13 @@ def interactive_bar_chart(id=0,promember=0):
|
|||||||
else:
|
else:
|
||||||
TOOLS = 'pan,box_zoom,wheel_zoom,reset,tap,hover,crosshair'
|
TOOLS = 'pan,box_zoom,wheel_zoom,reset,tap,hover,crosshair'
|
||||||
|
|
||||||
t2 = t.apply(lambda x: timedeltaconv(x))
|
t2 = t.fillna(method='ffill').apply(lambda x: timedeltaconv(x))
|
||||||
p2 = p.apply(lambda x: timedeltaconv(x))
|
p2 = p.fillna(method='ffill').apply(lambda x: timedeltaconv(x))
|
||||||
|
|
||||||
source = ColumnDataSource(
|
source = ColumnDataSource(
|
||||||
data = dict(
|
data = dict(
|
||||||
x=t2,
|
x=t2,
|
||||||
x_right = (t+time_increments).apply(lambda x:timedeltaconv(x)),
|
x_right = (t+time_increments).fillna(method='ffill').apply(lambda x:timedeltaconv(x)),
|
||||||
hr=hr,
|
hr=hr,
|
||||||
hr_ut2=hr_ut2,
|
hr_ut2=hr_ut2,
|
||||||
hr_ut1=hr_ut1,
|
hr_ut1=hr_ut1,
|
||||||
@@ -1782,8 +1782,8 @@ def interactive_comparison_chart(id1=0,id2=0,xparam='distance',yparam='spm',
|
|||||||
if xparam=='time':
|
if xparam=='time':
|
||||||
x1 = x1-x1[0]
|
x1 = x1-x1[0]
|
||||||
x2 = x2-x2[0]
|
x2 = x2-x2[0]
|
||||||
x1 = x1.apply(lambda x: timedeltaconv(x))
|
x1 = x1.fillna(method='ffill').apply(lambda x: timedeltaconv(x))
|
||||||
x2 = x2.apply(lambda x: timedeltaconv(x))
|
x2 = x2.fillna(method='ffill').apply(lambda x: timedeltaconv(x))
|
||||||
|
|
||||||
x_axis_type = 'linear'
|
x_axis_type = 'linear'
|
||||||
y_axis_type = 'linear'
|
y_axis_type = 'linear'
|
||||||
@@ -1792,8 +1792,8 @@ def interactive_comparison_chart(id1=0,id2=0,xparam='distance',yparam='spm',
|
|||||||
|
|
||||||
if yparam == 'pace':
|
if yparam == 'pace':
|
||||||
y_axis_type = 'datetime'
|
y_axis_type = 'datetime'
|
||||||
y1 = y1.apply(lambda x: timedeltaconv(x))
|
y1 = y1.fillna(method='ffill').apply(lambda x: timedeltaconv(x))
|
||||||
y2 = y2.apply(lambda x: timedeltaconv(x))
|
y2 = y2.fillna(method='ffill').apply(lambda x: timedeltaconv(x))
|
||||||
ymax = 1.0e3*90
|
ymax = 1.0e3*90
|
||||||
ymin = 1.0e3*180
|
ymin = 1.0e3*180
|
||||||
|
|
||||||
@@ -1832,18 +1832,18 @@ def interactive_comparison_chart(id1=0,id2=0,xparam='distance',yparam='spm',
|
|||||||
y1=y1,
|
y1=y1,
|
||||||
y2=y2,
|
y2=y2,
|
||||||
time1=niceformat(
|
time1=niceformat(
|
||||||
time1.apply(lambda x: timedeltaconv(x))
|
time1.fillna(method='ffill').apply(lambda x: timedeltaconv(x))
|
||||||
),
|
),
|
||||||
|
|
||||||
time2=niceformat(
|
time2=niceformat(
|
||||||
time2.apply(lambda x: timedeltaconv(x))
|
time2.fillna(method='ffill').apply(lambda x: timedeltaconv(x))
|
||||||
),
|
),
|
||||||
pace1=nicepaceformat(
|
pace1=nicepaceformat(
|
||||||
pace1.apply(lambda x: timedeltaconv(x))
|
pace1.fillna(method='ffill').apply(lambda x: timedeltaconv(x))
|
||||||
),
|
),
|
||||||
|
|
||||||
pace2=nicepaceformat(
|
pace2=nicepaceformat(
|
||||||
pace2.apply(lambda x: timedeltaconv(x))
|
pace2.fillna(method='ffill').apply(lambda x: timedeltaconv(x))
|
||||||
),
|
),
|
||||||
hr1 = hr1,
|
hr1 = hr1,
|
||||||
hr2 = hr2,
|
hr2 = hr2,
|
||||||
@@ -1979,10 +1979,10 @@ def interactive_otw_advanced_pace_chart(id=0,promember=0):
|
|||||||
drivelength = savgol_filter(drivelength,windowsize,3)
|
drivelength = savgol_filter(drivelength,windowsize,3)
|
||||||
rowdata.df[' DriveLength (meters)'] = drivelength
|
rowdata.df[' DriveLength (meters)'] = drivelength
|
||||||
|
|
||||||
t2 = t.apply(lambda x: timedeltaconv(x))
|
t2 = t.fillna(method='ffill').apply(lambda x: timedeltaconv(x))
|
||||||
p2 = p.apply(lambda x: timedeltaconv(x))
|
p2 = p.fillna(method='ffill').apply(lambda x: timedeltaconv(x))
|
||||||
nowindp2 = nowindpace.apply(lambda x: timedeltaconv(x))
|
nowindp2 = nowindpace.fillna(method='ffill').apply(lambda x: timedeltaconv(x))
|
||||||
ergpace2 = ergpace.apply(lambda x: timedeltaconv(x))
|
ergpace2 = ergpace.fillna(method='ffill').apply(lambda x: timedeltaconv(x))
|
||||||
|
|
||||||
# Add hover to this comma-separated string and see what changes
|
# Add hover to this comma-separated string and see what changes
|
||||||
if (promember==1):
|
if (promember==1):
|
||||||
|
|||||||
Reference in New Issue
Block a user