Guest User

Untitled

a guest
Feb 18th, 2019
75
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.99 KB | None | 0 0
  1. def datetime_range(start, end, delta):
  2. current = start
  3. while current < end:
  4. yield current
  5. current += delta
  6.  
  7. import pandas as pd
  8. import numpy as np
  9. import cProfile
  10. from datetime import timedelta, date, datetime
  11.  
  12. #inputs
  13. empty_data = pd.DataFrame(columns=['store','timestamp'])
  14. start_dt = date(2019, 1, 1)
  15. days = 365
  16.  
  17. data = "input data | attached to the post"
  18. for i in range(days):
  19. for j in range(len(data.store)):
  20. curr_date = start_dt + timedelta(days=i)
  21. curr_date_year = curr_date.year
  22. curr_date_month = curr_date.month
  23. curr_date_day = curr_date.day
  24. weekno = curr_date.weekday()
  25. if weekno<5:
  26. dts = [dt.strftime('%Y-%m-%d %H:%M') for dt in
  27. datetime_range(datetime(curr_date_year,curr_date_month,curr_date_day,data['m_f_open_hrs'].iloc[j],data['m_f_open_min'].iloc[j]), datetime(curr_date_year,curr_date_month,curr_date_day, data['m_f_close_hrs'].iloc[j],data['m_f_close_min'].iloc[j]),
  28. timedelta(minutes=15))]
  29. vert = pd.DataFrame(dts,columns = ['timestamp'])
  30. vert['store']= data['store'].iloc[j]
  31. empty_data = pd.concat([vert, empty_data])
  32. elif weekno==5:
  33. dts = [dt.strftime('%Y-%m-%d %H:%M') for dt in
  34. datetime_range(datetime(curr_date_year,curr_date_month,curr_date_day,data['sat_open_hrs'].iloc[j],data['sat_open_min'].iloc[j]), datetime(curr_date_year,curr_date_month,curr_date_day, data['sat_close_hrs'].iloc[j],data['sat_close_min'].iloc[j]),
  35. timedelta(minutes=15))]
  36. vert = pd.DataFrame(dts,columns = ['timestamp'])
  37. vert['store']= data['store'].iloc[j]
  38. empty_data = pd.concat([vert, empty_data])
  39. else:
  40. dts = [dt.strftime('%Y-%m-%d %H:%M') for dt in
  41. datetime_range(datetime(curr_date_year,curr_date_month,curr_date_day,data['sun_open_hrs'].iloc[j],data['sun_open_min'].iloc[j]), datetime(curr_date_year,curr_date_month,curr_date_day, data['sun_close_hrs'].iloc[j],data['sun_close_min'].iloc[j]),
  42. timedelta(minutes=15))]
  43. vert = pd.DataFrame(dts,columns = ['timestamp'])
  44. vert['store']= data['store'].iloc[j]
  45. empty_data = pd.concat([vert, empty_data])
  46.  
  47.  
  48. final_data = empty_data
Add Comment
Please, Sign In to add comment