0

新手问题,

我有三个数组,一个是年,一个是月,一个是我的数据。

年数组有数据发生在哪一年,但由于数据是每月收集的,我有很多重复的年份,例如[1996,1997,...,1997,1998,...,1998,1999 etc]

然后在我的数组中[01,02,...,11,12,01,02, etc]

无论如何将这两个数组合并为一个,然后将它们与我的数据进行对比?

我尝试将第二个数组乘以1/12并将其添加到第一个数组,但更喜欢更优雅的解决方案。有小费吗?

谢谢你。

4

1 回答 1

2

您可以使用zip将年份和月份组合成datetime.date对象:

dates = [DT.date(y,m,1) for y, m in zip(years, months)]

使用matplotlib绘图:

import matplotlib.pyplot as plt
import datetime as DT
import numpy as np

years = [1996]+[1997]*12+[1998]*12
months =[12]+range(1,13)+range(1,13)

dates = [DT.date(y,m,1) for y, m in zip(years, months)]
values = np.random.random(len(dates))

plt.plot(dates, values)
plt.show()

在此处输入图像描述

于 2013-10-01T13:56:52.140 回答