Home > Blockchain >  Convert days data in years data in a list
Convert days data in years data in a list

Time:06-02

I want to do a time serie with temperature data from 1850 to 2014. And I have an issue because when I plot the time series the start is 0 and it corresponds to day 1 of January 1850 and it stops day 60 230 with the 31 December of 2014.

I try to do a loop to create a new list with the time in month-years but it didn't succeed, and to create the plot with this new list and my initial temperature list. This is the kind of loop that I tested :

days = list(range(1,365 1))
years = []
y = 1850
years.append(y)

while y<2015:
    for i in days:
        years.append(y i)
    y = y 1
del years [-1]

dsetyears = Dataset(years)

I also try with the tool called "datetime" but it didn't work also (maybe this tool is better because it will take into account the bissextile years...).

day_number = "0"
year = "1850"
res = datetime.strptime(year   "-"   day_number, "%Y-%j").strftime("%m-%d-%Y") 

If anyone has a clue or a lead I can look into I'm interested. Thanks by advance !

CodePudding user response:

You can achieve that using datetime module. Let's declare starting and ending date.

import datetime

dates = []

starting_date = datetime.datetime(1850, 1, 1)
ending_date = datetime.datetime(2014, 1, 1)

Then we can create a while loop and check if the ending date is greater or equal to starting date and add 1-day using timedelta function for every iteration. before iteration, we will append the formatted date as a string to the dates list.

while starting_date <= ending_date:

    dates.append(starting_date.strftime("%m-%d-%Y"))
    starting_date  = datetime.timedelta(days=1)
  • Related