Private
Public Access
1
0

solved losing Empower data

This commit is contained in:
Sander Roosendaal
2017-05-19 13:27:09 +02:00
parent a84ddf73d9
commit 3bf512179c
3 changed files with 70 additions and 43 deletions

View File

@@ -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,17 +1250,40 @@ 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']
except KeyError:
wash = 0*power
try:
catch = rowdatadf.ix[:,'catch'] catch = rowdatadf.ix[:,'catch']
except KeyError:
catch = 0*power
try:
finish = rowdatadf.ix[:,'finish'] finish = rowdatadf.ix[:,'finish']
except KeyError:
finish = 0*power
try:
peakforceangle = rowdatadf.ix[:,'peakforceangle'] peakforceangle = rowdatadf.ix[:,'peakforceangle']
except KeyError:
peakforceangle = 0*power
try:
driveenergy = rowdatadf.ix[:,'driveenergy'] driveenergy = rowdatadf.ix[:,'driveenergy']
except KeyError:
driveenergy = 0*power
arclength = (inboard-0.05)*(np.radians(finish)-np.radians(catch)) arclength = (inboard-0.05)*(np.radians(finish)-np.radians(catch))
if arclength.mean()>0: if arclength.mean()>0:
drivelength = arclength drivelength = arclength
else: else:
drivelength = driveenergy/(averageforce*4.44822) drivelength = driveenergy/(averageforce*4.44822)
try:
slip = rowdatadf.ix[:,'slip'] slip = rowdatadf.ix[:,'slip']
except KeyError:
slip = 0*power
totalangle = finish-catch totalangle = finish-catch
effectiveangle = finish-wash-catch-slip effectiveangle = finish-wash-catch-slip
if windowsize > 3 and windowsize<len(slip): if windowsize > 3 and windowsize<len(slip):
@@ -1269,6 +1296,7 @@ def dataprep(rowdatadf,id=0,bands=True,barchart=True,otwpower=True,
drivelength = savgol_filter(drivelength,windowsize,3) drivelength = savgol_filter(drivelength,windowsize,3)
totalangle = savgol_filter(totalangle,windowsize,3) totalangle = savgol_filter(totalangle,windowsize,3)
effectiveangle = savgol_filter(effectiveangle,windowsize,3) effectiveangle = savgol_filter(effectiveangle,windowsize,3)
data['wash'] = wash data['wash'] = wash
data['catch'] = catch data['catch'] = catch
data['slip'] = slip data['slip'] = slip
@@ -1278,8 +1306,6 @@ def dataprep(rowdatadf,id=0,bands=True,barchart=True,otwpower=True,
data['drivelength'] = drivelength data['drivelength'] = drivelength
data['totalangle'] = totalangle data['totalangle'] = totalangle
data['effectiveangle'] = effectiveangle data['effectiveangle'] = effectiveangle
except KeyError:
pass
if otwpower: if otwpower:
try: try:

View File

@@ -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

View File

@@ -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)