Merge branch 'release/v3.10'
This commit is contained in:
@@ -645,10 +645,14 @@ def interactive_otwcpchart(powerdf,promember=0):
|
|||||||
# message = "CP model fit didn't give correct results"
|
# message = "CP model fit didn't give correct results"
|
||||||
|
|
||||||
|
|
||||||
|
deltas = fitt.apply(lambda x: timedeltaconv(x))
|
||||||
|
ftime = niceformat(deltas)
|
||||||
|
|
||||||
sourcecomplex = ColumnDataSource(
|
sourcecomplex = ColumnDataSource(
|
||||||
data = dict(
|
data = dict(
|
||||||
power = fitpower,
|
CP = fitpower,
|
||||||
duration = fitt
|
duration = fitt,
|
||||||
|
ftime = ftime
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
|
|
||||||
@@ -689,7 +693,7 @@ def interactive_otwcpchart(powerdf,promember=0):
|
|||||||
|
|
||||||
hover.mode = 'mouse'
|
hover.mode = 'mouse'
|
||||||
|
|
||||||
plot.line('duration','power',source=sourcecomplex,legend="CP Model",
|
plot.line('duration','CP',source=sourcecomplex,legend="CP Model",
|
||||||
color='green')
|
color='green')
|
||||||
|
|
||||||
script, div = components(plot)
|
script, div = components(plot)
|
||||||
|
|||||||
@@ -2897,26 +2897,32 @@ def otwrankings_view(request,theuser=0,
|
|||||||
|
|
||||||
thesecs.append(timesecs)
|
thesecs.append(timesecs)
|
||||||
|
|
||||||
|
|
||||||
if len(thesecs) != 0:
|
if len(thesecs) != 0:
|
||||||
maxt = pd.Series(thesecs).max()
|
maxt = 2*pd.Series(thesecs).max()
|
||||||
else:
|
else:
|
||||||
maxt = 1000.
|
maxt = 1000.
|
||||||
|
|
||||||
|
|
||||||
maxlog10 = np.log10(maxt)
|
maxlog10 = np.log10(maxt)
|
||||||
logarr = np.arange(100)*maxlog10/100.
|
logarr = np.arange(100)*maxlog10/100.
|
||||||
logarr = [int(10.**(la)) for la in logarr]
|
logarr = [int(10.**(la)) for la in logarr]
|
||||||
logarr = pd.Series(logarr)
|
logarr = pd.Series(logarr)
|
||||||
logarr.drop_duplicates(keep='first',inplace=True)
|
logarr.drop_duplicates(keep='first',inplace=True)
|
||||||
|
|
||||||
logarr = logarr.values
|
logarr = logarr.values
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
delta = []
|
delta = []
|
||||||
cpvalue = []
|
cpvalue = []
|
||||||
avgpower = {}
|
avgpower = {}
|
||||||
|
|
||||||
dfgrouped = df.groupby(['workoutid'])
|
dfgrouped = df.groupby(['workoutid'])
|
||||||
for id,group in dfgrouped:
|
for id,group in dfgrouped:
|
||||||
tt = group['time']
|
tt = group['time'].copy()
|
||||||
ww = group['power']
|
ww = group['power'].copy()
|
||||||
|
|
||||||
try:
|
try:
|
||||||
avgpower[id] = int(ww.mean())
|
avgpower[id] = int(ww.mean())
|
||||||
except ValueError:
|
except ValueError:
|
||||||
@@ -2926,40 +2932,44 @@ def otwrankings_view(request,theuser=0,
|
|||||||
dt = []
|
dt = []
|
||||||
cpw = []
|
cpw = []
|
||||||
for i in range(length-2):
|
for i in range(length-2):
|
||||||
w_roll = ww.rolling(i+2,min_periods=2).mean()
|
w_roll = ww.rolling(i+2).mean().dropna()
|
||||||
# now goes with # data points - should be fixed seconds
|
if len(w_roll):
|
||||||
indexmax = w_roll.idxmax(axis=1)
|
# now goes with # data points - should be fixed seconds
|
||||||
try:
|
indexmax = w_roll.idxmax(axis=1)
|
||||||
t_0 = tt.ix[indexmax]
|
try:
|
||||||
t_1 = tt.ix[indexmax-i-2]
|
t_0 = tt.ix[indexmax]
|
||||||
deltat = 1.0e-3*(t_0-t_1)
|
t_1 = tt.ix[indexmax-i-2]
|
||||||
wmax = w_roll.ix[indexmax]
|
deltat = 1.0e-3*(t_0-t_1)
|
||||||
dt.append(deltat)
|
wmax = w_roll.ix[indexmax]
|
||||||
cpw.append(wmax)
|
if not np.isnan(deltat) and not np.isnan(wmax):
|
||||||
except KeyError:
|
dt.append(deltat)
|
||||||
pass
|
cpw.append(wmax)
|
||||||
|
except KeyError:
|
||||||
|
pass
|
||||||
|
|
||||||
|
|
||||||
dt = pd.Series(dt)
|
dt = pd.Series(dt)
|
||||||
cpw = pd.Series(cpw)
|
cpw = pd.Series(cpw)
|
||||||
|
|
||||||
cpvalues = griddata(dt.values,
|
cpvalues = griddata(dt.values,
|
||||||
cpw.values,
|
cpw.values,
|
||||||
logarr,method='linear',fill_value=0)
|
logarr,method='linear',
|
||||||
|
rescale=True)
|
||||||
|
|
||||||
for cpv in cpvalues:
|
for cpv in cpvalues:
|
||||||
cpvalue.append(cpv)
|
cpvalue.append(cpv)
|
||||||
for d in logarr:
|
for d in logarr:
|
||||||
delta.append(d)
|
delta.append(d)
|
||||||
|
|
||||||
print avgpower
|
delta = pd.Series(delta,name='Delta')
|
||||||
dt = pd.Series(delta,name='Delta')
|
|
||||||
cpvalue = pd.Series(cpvalue,name='CP')
|
cpvalue = pd.Series(cpvalue,name='CP')
|
||||||
|
|
||||||
|
|
||||||
powerdf = pd.DataFrame({
|
powerdf = pd.DataFrame({
|
||||||
'Delta':delta,
|
'Delta':delta,
|
||||||
'CP':cpvalue,
|
'CP':cpvalue,
|
||||||
})
|
})
|
||||||
|
|
||||||
|
|
||||||
powerdf = powerdf[powerdf['CP']>0]
|
powerdf = powerdf[powerdf['CP']>0]
|
||||||
powerdf.dropna(axis=0,inplace=True)
|
powerdf.dropna(axis=0,inplace=True)
|
||||||
powerdf.sort_values(['Delta','CP'],ascending=[1,0],inplace=True)
|
powerdf.sort_values(['Delta','CP'],ascending=[1,0],inplace=True)
|
||||||
|
|||||||
Reference in New Issue
Block a user