0

I am trying to pass the week number (week_num) into a dataframe to analyze further my Kmeans output. Here is where I am struggling:

from datetime import date, timedelta, datetime

d1 = date(2013, 1, 1)  # start date
d2 = date(2014, 12, 31)  # end date
delta = d2 - d1         # timedelta
daysyear = []
day = []
month = []
year = []
#week_num = []

D = {0:'mon', 1:'tue', 2:'wed', 3:'thu', 4:'fri', 5:'sat', 6:'sun'}
for i in range(delta.days + 1):
    daysyear.extend([D[(d1 + timedelta(days=i)).weekday()]+"-"+str(d1 + timedelta(days=i))])
    day.extend([D[(d1 + timedelta(days=i)).weekday()]])
    month.extend([(d1 + timedelta(days=i)).month])
    year.extend([(d1 + timedelta(days=i)).year])
    #week.extend([(d1 + timedelta(days=i))])
    #week.extend(datetime.strptime([(d1 + timedelta(days=i)).year], "%Y-%W-%w").isocalendar()[1])
    #week.pd.to_datetime([(d1 + timedelta(days=i))], errors ='coerce')
    #yearnum, month_num, day_of_week = (d1 + timedelta(days=i))#.isocalendar()


Then passing into:
labels_2 = pd.DataFrame({'Date': daysyear, 'Cluster_ID': kmeans_2.labels_, 'Power_Usage': np.array(X).mean(axis=1), 'Day_of_Wk': day, 'Month_Num': month, 'Year': year})

Thank you for your help.

I have tried several methods and I am expecting the week number in numerical format to be passed into here

labels_2 = pd.DataFrame({'Date': daysyear, 'Cluster_ID': kmeans_2.labels_, 'Power_Usage': np.array(X).mean(axis=1), 'Day_of_Wk': day, 'Month_Num': month, 'Year': year, 'Week_Num: week_num'})

FObersteiner
  • 22,500
  • 8
  • 42
  • 72
  • What about: [like this](https://stackoverflow.com/q/31181295/10197418)? Note, you also have [date_range](https://pandas.pydata.org/docs/reference/api/pandas.date_range.html) in pandas. – FObersteiner Oct 28 '22 at 14:43

0 Answers0