2013-10-01 4 views
0

newbie question,Python traitant des mois et des années en tableaux

J'ai trois tableaux, un avec des années, un avec des mois et un avec mes données.

Les années tableau a quelle année les données se produit, mais que les données sont collectées chaque mois, j'ai beaucoup d'années de répétition, par exemple [1996,1997,...,1997,1998,...,1998,1999 etc]

Ensuite, dans le tableau que j'ai [01,02,...,11,12,01,02, etc]

est-il De toute façon, fusionner ces deux tableaux en un, puis les tracer par rapport à mes données?

J'ai essayé de multiplier le second tableau par 1/12 et de l'ajouter au premier tableau, mais je préférerais une solution plus élégante. Des conseils?

Merci.

+0

Comment voulez-vous les fusionner? Quelle est l'attente de production? –

+1

Souhaitez-vous s'il vous plaît poster vos tableaux pour nous? Entrez une nouvelle ligne et appuyez sur espace quatre fois, puis tapez-les. Il est plus facile pour tout le monde de voir leur meilleure solution quand ils n'ont pas à visualiser votre travail * et * le leur, vous savez? – jwarner112

+0

Tout dépend de ce que vous voulez faire avec le tableau plus tard, et de la raison pour laquelle vous pensez que les deux tableaux ne sont pas la meilleure solution. – Jblasco

Répondre

2

Vous pouvez utiliser zip pour combiner les années et les mois en datetime.date objets:

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

Pour tracer en utilisant 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

Merci. Cela fonctionne parfaitement – Tweej

Questions connexes