solved losing Empower data
This commit is contained in:
@@ -730,11 +730,11 @@ def new_workout_from_df(r,df,
|
|||||||
|
|
||||||
csvfilename ='media/Fusion_'+timestr+'.csv'
|
csvfilename ='media/Fusion_'+timestr+'.csv'
|
||||||
|
|
||||||
|
|
||||||
df.rename(columns = columndict,inplace=True)
|
df.rename(columns = columndict,inplace=True)
|
||||||
starttimeunix = mktime(startdatetime.utctimetuple())
|
starttimeunix = mktime(startdatetime.utctimetuple())
|
||||||
df[' ElapsedTime (sec)'] = df['TimeStamp (sec)']
|
df[' ElapsedTime (sec)'] = df['TimeStamp (sec)']
|
||||||
df['TimeStamp (sec)'] = df['TimeStamp (sec)']+starttimeunix
|
df['TimeStamp (sec)'] = df['TimeStamp (sec)']+starttimeunix
|
||||||
print df.info()
|
|
||||||
|
|
||||||
row = rrdata(df=df)
|
row = rrdata(df=df)
|
||||||
row.write_csv(csvfilename,gzip=True)
|
row.write_csv(csvfilename,gzip=True)
|
||||||
@@ -888,8 +888,9 @@ def getrowdata_db(id=0,doclean=False):
|
|||||||
if doclean:
|
if doclean:
|
||||||
data = clean_df_stats(data,ignorehr=True)
|
data = clean_df_stats(data,ignorehr=True)
|
||||||
|
|
||||||
data['averageforce'] = data['averageforce']
|
# these two lines seem redundant ??
|
||||||
data['peakforce'] = data['peakforce']
|
#data['averageforce'] = data['averageforce']
|
||||||
|
#data['peakforce'] = data['peakforce']
|
||||||
|
|
||||||
return data,row
|
return data,row
|
||||||
|
|
||||||
@@ -1106,10 +1107,13 @@ def datafusion(id1,id2,columns,offset):
|
|||||||
offsetmillisecs += offset.days*(3600*24*1000)
|
offsetmillisecs += offset.days*(3600*24*1000)
|
||||||
df2['time'] = df2['time']+offsetmillisecs
|
df2['time'] = df2['time']+offsetmillisecs
|
||||||
|
|
||||||
|
|
||||||
keep1 = {c:c for c in set(df1.columns)}
|
keep1 = {c:c for c in set(df1.columns)}
|
||||||
|
|
||||||
for c in columns:
|
for c in columns:
|
||||||
keep1.pop(c)
|
keep1.pop(c)
|
||||||
|
|
||||||
|
|
||||||
for c in df1.columns:
|
for c in df1.columns:
|
||||||
if not c in keep1:
|
if not c in keep1:
|
||||||
df1 = df1.drop(c,1,errors='ignore')
|
df1 = df1.drop(c,1,errors='ignore')
|
||||||
@@ -1246,40 +1250,62 @@ def dataprep(rowdatadf,id=0,bands=True,barchart=True,otwpower=True,
|
|||||||
if empower:
|
if empower:
|
||||||
try:
|
try:
|
||||||
wash = rowdatadf.ix[:,'wash']
|
wash = rowdatadf.ix[:,'wash']
|
||||||
catch = rowdatadf.ix[:,'catch']
|
|
||||||
finish = rowdatadf.ix[:,'finish']
|
|
||||||
peakforceangle = rowdatadf.ix[:,'peakforceangle']
|
|
||||||
driveenergy = rowdatadf.ix[:,'driveenergy']
|
|
||||||
arclength = (inboard-0.05)*(np.radians(finish)-np.radians(catch))
|
|
||||||
if arclength.mean()>0:
|
|
||||||
drivelength = arclength
|
|
||||||
else:
|
|
||||||
drivelength = driveenergy/(averageforce*4.44822)
|
|
||||||
|
|
||||||
slip = rowdatadf.ix[:,'slip']
|
|
||||||
totalangle = finish-catch
|
|
||||||
effectiveangle = finish-wash-catch-slip
|
|
||||||
if windowsize > 3 and windowsize<len(slip):
|
|
||||||
wash = savgol_filter(wash,windowsize,3)
|
|
||||||
slip = savgol_filter(slip,windowsize,3)
|
|
||||||
catch = savgol_filter(catch,windowsize,3)
|
|
||||||
finish = savgol_filter(finish,windowsize,3)
|
|
||||||
peakforceangle = savgol_filter(peakforceangle,windowsize,3)
|
|
||||||
driveenergy = savgol_filter(driveenergy,windowsize,3)
|
|
||||||
drivelength = savgol_filter(drivelength,windowsize,3)
|
|
||||||
totalangle = savgol_filter(totalangle,windowsize,3)
|
|
||||||
effectiveangle = savgol_filter(effectiveangle,windowsize,3)
|
|
||||||
data['wash'] = wash
|
|
||||||
data['catch'] = catch
|
|
||||||
data['slip'] = slip
|
|
||||||
data['finish'] = finish
|
|
||||||
data['peakforceangle'] = peakforceangle
|
|
||||||
data['driveenergy'] = driveenergy
|
|
||||||
data['drivelength'] = drivelength
|
|
||||||
data['totalangle'] = totalangle
|
|
||||||
data['effectiveangle'] = effectiveangle
|
|
||||||
except KeyError:
|
except KeyError:
|
||||||
pass
|
wash = 0*power
|
||||||
|
|
||||||
|
try:
|
||||||
|
catch = rowdatadf.ix[:,'catch']
|
||||||
|
except KeyError:
|
||||||
|
catch = 0*power
|
||||||
|
|
||||||
|
try:
|
||||||
|
finish = rowdatadf.ix[:,'finish']
|
||||||
|
except KeyError:
|
||||||
|
finish = 0*power
|
||||||
|
|
||||||
|
try:
|
||||||
|
peakforceangle = rowdatadf.ix[:,'peakforceangle']
|
||||||
|
except KeyError:
|
||||||
|
peakforceangle = 0*power
|
||||||
|
|
||||||
|
try:
|
||||||
|
driveenergy = rowdatadf.ix[:,'driveenergy']
|
||||||
|
except KeyError:
|
||||||
|
driveenergy = 0*power
|
||||||
|
|
||||||
|
arclength = (inboard-0.05)*(np.radians(finish)-np.radians(catch))
|
||||||
|
if arclength.mean()>0:
|
||||||
|
drivelength = arclength
|
||||||
|
else:
|
||||||
|
drivelength = driveenergy/(averageforce*4.44822)
|
||||||
|
|
||||||
|
try:
|
||||||
|
slip = rowdatadf.ix[:,'slip']
|
||||||
|
except KeyError:
|
||||||
|
slip = 0*power
|
||||||
|
|
||||||
|
totalangle = finish-catch
|
||||||
|
effectiveangle = finish-wash-catch-slip
|
||||||
|
if windowsize > 3 and windowsize<len(slip):
|
||||||
|
wash = savgol_filter(wash,windowsize,3)
|
||||||
|
slip = savgol_filter(slip,windowsize,3)
|
||||||
|
catch = savgol_filter(catch,windowsize,3)
|
||||||
|
finish = savgol_filter(finish,windowsize,3)
|
||||||
|
peakforceangle = savgol_filter(peakforceangle,windowsize,3)
|
||||||
|
driveenergy = savgol_filter(driveenergy,windowsize,3)
|
||||||
|
drivelength = savgol_filter(drivelength,windowsize,3)
|
||||||
|
totalangle = savgol_filter(totalangle,windowsize,3)
|
||||||
|
effectiveangle = savgol_filter(effectiveangle,windowsize,3)
|
||||||
|
|
||||||
|
data['wash'] = wash
|
||||||
|
data['catch'] = catch
|
||||||
|
data['slip'] = slip
|
||||||
|
data['finish'] = finish
|
||||||
|
data['peakforceangle'] = peakforceangle
|
||||||
|
data['driveenergy'] = driveenergy
|
||||||
|
data['drivelength'] = drivelength
|
||||||
|
data['totalangle'] = totalangle
|
||||||
|
data['effectiveangle'] = effectiveangle
|
||||||
|
|
||||||
if otwpower:
|
if otwpower:
|
||||||
try:
|
try:
|
||||||
|
|||||||
@@ -343,6 +343,7 @@ class FusionMetricChoiceForm(ModelForm):
|
|||||||
|
|
||||||
def __init__(self, *args, **kwargs):
|
def __init__(self, *args, **kwargs):
|
||||||
super(FusionMetricChoiceForm, self).__init__(*args, **kwargs)
|
super(FusionMetricChoiceForm, self).__init__(*args, **kwargs)
|
||||||
|
formaxlabels2 = formaxlabels.copy()
|
||||||
# need to add code to remove "empty" fields
|
# need to add code to remove "empty" fields
|
||||||
|
|
||||||
if self.instance.id is not None:
|
if self.instance.id is not None:
|
||||||
@@ -354,10 +355,10 @@ class FusionMetricChoiceForm(ModelForm):
|
|||||||
for label in labeldict:
|
for label in labeldict:
|
||||||
if df.ix[:,label].std() == 0:
|
if df.ix[:,label].std() == 0:
|
||||||
try:
|
try:
|
||||||
formaxlabels.pop(label)
|
formaxlabels2.pop(label)
|
||||||
except KeyError:
|
except KeyError:
|
||||||
pass
|
pass
|
||||||
|
|
||||||
metricchoices = list(sorted(formaxlabels.items(), key = lambda x:x[1]))
|
metricchoices = list(sorted(formaxlabels2.items(), key = lambda x:x[1]))
|
||||||
self.fields['columns'].choices = metricchoices
|
self.fields['columns'].choices = metricchoices
|
||||||
|
|
||||||
|
|||||||
@@ -925,8 +925,6 @@ def add_workout_from_underarmourdata(user,importid,data):
|
|||||||
|
|
||||||
times_distance = res[0]
|
times_distance = res[0]
|
||||||
|
|
||||||
print distance[0:5]
|
|
||||||
print times_distance[0:5]
|
|
||||||
|
|
||||||
try:
|
try:
|
||||||
l = timeseries['position']
|
l = timeseries['position']
|
||||||
@@ -6941,7 +6939,9 @@ def workout_fusion_view(request,id1=0,id2=1):
|
|||||||
posneg = cd['posneg']
|
posneg = cd['posneg']
|
||||||
if posneg == 'neg':
|
if posneg == 'neg':
|
||||||
timeoffset = -timeoffset
|
timeoffset = -timeoffset
|
||||||
|
|
||||||
df = dataprep.datafusion(id1,id2,columns,timeoffset)
|
df = dataprep.datafusion(id1,id2,columns,timeoffset)
|
||||||
|
|
||||||
idnew,message = dataprep.new_workout_from_df(r,df,
|
idnew,message = dataprep.new_workout_from_df(r,df,
|
||||||
title='Fused data',
|
title='Fused data',
|
||||||
parent=w1)
|
parent=w1)
|
||||||
|
|||||||
Reference in New Issue
Block a user