2013-10-01 13 views
0

新手問題,在數組中處理數月和數年的Python

我有三個數組,一個數年,一個數月,一個數據。

歲月數組有哪一年發生的數據,但該數據按月收集,我有很多的重複多年,如[1996,1997,...,1997,1998,...,1998,1999 etc]

然後在陣列中我有[01,02,...,11,12,01,02, etc]

有無論如何將這兩個數組合併成一個,然後將它們與我的數據進行比較?

我已經嘗試乘以第二個數組1/12並將其添加到第一個數組,但寧願更優雅的解決方案。有小費嗎?

謝謝。

+0

如何要合併呢?什麼是預期的輸出? –

+1

請您爲我們發佈陣列嗎?輸入一個新行並敲擊四次空格,然後輸入。當他們不需要想象你的工作和他們的工作時,每個人都可以更容易地看到他們的最佳解決方案,你知道嗎? – jwarner112

+0

這一切都取決於你以後想要用陣列做什麼,以及爲什麼你認爲有兩個陣列不是最好的解決方案。 – Jblasco

回答

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() 

enter image description here

+0

謝謝。這是完美的 – Tweej