Parcelle timeseries d'histogrammes en Python
Je suis en train de tracer une série de temps d'histogrammes en Python. Il y a eu une question similaire, à ce sujet, mais dans la R. Donc, en gros, j'ai besoin de la même chose, mais je suis vraiment mal dans R. Il n'y a généralement 48 valeurs par jour dans mon dataset. Où - 9999 représente des données manquantes. Voici l'échantillon de données.
J'ai commencé avec la lecture dans les données et la construction d'un pandas
DataFrame
.
import pandas as pd
df = pd.read_csv('sample.csv', parse_dates=True, index_col=0, na_values='-9999')
print df
<class 'pandas.core.frame.DataFrame'>
DatetimeIndex: 336 entries, 2008-07-25 14:00:00 to 2008-08-01 13:30:00
Data columns (total 1 columns):
159.487691046 330 non-null values
dtypes: float64(1)
Maintenant, je peux regrouper les données par jour:
daily = df.groupby(lambda x: x.date())
Mais là je suis coincé. Je ne sais pas comment l'utiliser avec matplotlib
pour obtenir mon timeseries d'histogrammes. Toute aide appréciée, pas nécessairement à l'aide de pandas
.
OriginalL'auteur abudis | 2013-06-11
Vous devez vous connecter pour publier un commentaire.
Faire un histogramme et l'utilisation matplotlib est
pcolor
.Nous devons bin les groupes de manière uniforme, donc, nous faisons des bacs manuellement en fonction de la plage de votre échantillon de données.
Appliquer
histogram
à chaque groupe.Suivant votre lié exemple, dans R, l'axe horizontal doit être des dates, et l'axe vertical doit être la gamme de bacs. L'histogramme des valeurs sont une "carte de chaleur."
Il reste à étiquette axes. Cette réponse être de quelque aide.
Merci! Cela devrait le faire. J'ai totalement oublié de mentionner que - 9999 manque un nombre et doit être disarded. L'ajouter à la question.
Ce qui est très cool!
OriginalL'auteur Dan Allan