@Verbamore wrote:
After many unsuccessful tries with flask (my question in Stackoverflow) ,I decided to take another direction, to use dash.
I was able to do some search online and I was able to find this_post which has almost everything I need for my API.
I am substituting the function “some_function” from the example with my function:
def transform(df): #count the number of columns in the data frame col=len(df.columns) if col>3: #Transform a matrix to a vector df=df.set_index(df.columns[0]).stack().reset_index() df[['Date','level_1']]=df[['Date','level_1']].astype(str) df['dtime']=df['Date']+' '+df['level_1'] df['dtime'] = pd.to_datetime(df['dtime']) df=df.drop(['Date', 'level_1'], axis=1) df.columns=['KW','dtime'] df=df[['dtime','KW']] df=df.sort_values(by='dtime',ascending=False) df.reset_index(inplace=True,drop=True) #df.index = pd.to_datetime(df[df.columns[[0,1]]].astype(str).apply('-'.join,1)) else: df.columns =(['dtime','kW']) df['dtime'] = pd.to_datetime(df['dtime']) df['dtime'] = pd.to_datetime(df['dtime']) #find the interval by substracting the second date from the first one a = df.loc[0, 'dtime'] b = df.loc[1, 'dtime'] c = a - b minutes = c.total_seconds() / 60 d=int(minutes) #d can be only 15 ,30 or 60 #This function will create new row to the time series anytime when it finds gaps and will fill it with NaN or leave it blank. #df.drop_duplicates(keep='first') keeps the first value of duplicates if d==15: df.drop_duplicates(keep='first',inplace=True) df= df.set_index('dtime').asfreq('-15T') elif d==30: df.drop_duplicates(keep='first',inplace=True) df= df.set_index('dtime').asfreq('-30T') elif d==60: df.drop_duplicates(keep='first',inplace=True) df= df.set_index('dtime').asfreq('-60T') else: None return dfThe script runs fine, without any errors but the output is strange output. I am not sure what I am doing wrong.
In addition:
1.How to export the file in excel format
2.(from the example)Does the function (some_function) iterate through all of the sheets, if I import an excel file? I am asking this because I need to know if I have to create an iteration for my function(transform)
Posts: 1
Participants: 1