将天数据转换为列表中的年数据
Convert days data in years data in a list
我想用 1850 年到 2014 年的温度数据做一个时间序列。我有一个问题,因为当我绘制时间序列时,开始是 0,它对应于 1850 年 1 月的第 1 天,它在第 60 天停止230 与 2014 年 12 月 31 日。
我尝试做一个循环来创建一个新列表,其中的时间以月-年为单位,但没有成功,并使用这个新列表和我的初始温度列表创建了绘图。
这是我测试过的那种循环:
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)
我也尝试使用名为“datetime”的工具,但它也不起作用(也许这个工具更好,因为它会考虑到 bissextile 年份...)。
day_number = "0"
year = "1850"
res = datetime.strptime(year + "-" + day_number, "%Y-%j").strftime("%m-%d-%Y")
如果有人有线索或线索,我可以调查一下,我很感兴趣。
提前致谢!
您可以使用 datetime
模块来实现。让我们声明开始和结束日期。
import datetime
dates = []
starting_date = datetime.datetime(1850, 1, 1)
ending_date = datetime.datetime(2014, 1, 1)
然后我们可以创建一个 while 循环并检查结束日期是否大于或等于开始日期,并为每次迭代使用 timedelta
函数添加 1 天。在迭代之前,我们将格式化日期作为字符串附加到 dates
列表。
while starting_date <= ending_date:
dates.append(starting_date.strftime("%m-%d-%Y"))
starting_date += datetime.timedelta(days=1)
我想用 1850 年到 2014 年的温度数据做一个时间序列。我有一个问题,因为当我绘制时间序列时,开始是 0,它对应于 1850 年 1 月的第 1 天,它在第 60 天停止230 与 2014 年 12 月 31 日。
我尝试做一个循环来创建一个新列表,其中的时间以月-年为单位,但没有成功,并使用这个新列表和我的初始温度列表创建了绘图。 这是我测试过的那种循环:
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)
我也尝试使用名为“datetime”的工具,但它也不起作用(也许这个工具更好,因为它会考虑到 bissextile 年份...)。
day_number = "0"
year = "1850"
res = datetime.strptime(year + "-" + day_number, "%Y-%j").strftime("%m-%d-%Y")
如果有人有线索或线索,我可以调查一下,我很感兴趣。 提前致谢!
您可以使用 datetime
模块来实现。让我们声明开始和结束日期。
import datetime
dates = []
starting_date = datetime.datetime(1850, 1, 1)
ending_date = datetime.datetime(2014, 1, 1)
然后我们可以创建一个 while 循环并检查结束日期是否大于或等于开始日期,并为每次迭代使用 timedelta
函数添加 1 天。在迭代之前,我们将格式化日期作为字符串附加到 dates
列表。
while starting_date <= ending_date:
dates.append(starting_date.strftime("%m-%d-%Y"))
starting_date += datetime.timedelta(days=1)