Tracer CSV de données de séries temporelles avec une valeur unixtime en Python (matplotlib)

↓ Supposons que vous souhaitiez tracer les données d'un tel fichier CSV.

$ cat 1.csv
"_time",count
1604847600,0
1604848200,2
1604848800,0
1604849400,2
1604850000,0
1604850600,3
1604851200,3
1604851800,0
1604852400,3
1604853000,1

1604847600 est une notation appelée UNIX TIME, ce qui signifie en fait ce qui suit.

2020-11-09 00:00:00,0
2020-11-09 00:10:00,2
2020-11-09 00:20:00,0

Considérez un programme qui convertit cela. .. ..

     1from datetime import datetime
     2
     3import matplotlib.pyplot as plt
     4import matplotlib.dates as md
     5import dateutil
     6
     7import sys
     8args = sys.argv
     9
    10x = []
    11y = []
    12
    13f = open(args[1], 'r')
    14
    15line = f.readline()
    16line = f.readline()
    17
    18while line:
    19    tmp = line.split(",")
    20    dt_object = datetime.fromtimestamp(int(tmp[0]))
    21
    22    x.append(str(dt_object))
    23    y.append(int(str(str(tmp[1]).replace('\n',''))))
    24
    25    line = f.readline()
    26f.close()
    27
    28counter = 0
    29for i in x:
    30    print(x[counter] + "," + str(y[counter]))
    31    counter = counter + 1

https://github.com/RuoAndo/qiita/blob/master/python-timeseries-plot/1.py

Faites une liste pour stocker les horodatages et les valeurs sur les lignes 10 et 11.

    10 x = []
    11 y = []

Convertissez UNIX TIME en date à la ligne 20.

    20    dt_object = datetime.fromtimestamp(int(tmp[0]))

Essayez de l'exécuter. .. ..

$ python 1.py 1.csv | more
2020-11-09 00:00:00,0
2020-11-09 00:10:00,2
2020-11-09 00:20:00,0
2020-11-09 00:30:00,2
2020-11-09 00:40:00,0
2020-11-09 00:50:00,3
2020-11-09 01:00:00,3
2020-11-09 01:10:00,0
2020-11-09 01:20:00,3
2020-11-09 01:30:00,1
2020-11-09 01:40:00,0
2020-11-09 01:50:00,1
2020-11-09 02:00:00,2
2020-11-09 02:10:00,2

(`) B

Après cela, créez un programme pour tracer cela.

Jetez un œil au code. ..

     1from datetime import datetime
     2
     3import matplotlib.pyplot as plt
     4import matplotlib.dates as md
     5import dateutil
     6
     7x = []
     8y = []
     9
    10f = open('1.csv', 'r')
    11
    12line = f.readline()
    13line = f.readline()
    14
    15while line:
    16    tmp = line.split(",")
    17    dt_object = datetime.fromtimestamp(int(tmp[0]))
    18
    19    x.append(str(dt_object))
    20    y.append(int(str(str(tmp[1]).replace('\n',''))))
    21
    22    line = f.readline()
    23f.close()
    24
    25counter = 0
    26for i in x:
    27    print(x[counter] + "," + str(y[counter]))
    28    counter = counter + 1
    29
    30dates = [dateutil.parser.parse(s) for s in x]
    31
    32plt.subplots_adjust(bottom=0.2)
    33plt.xticks( rotation= 80 )
    34ax=plt.gca()
    35xfmt = md.DateFormatter('%Y-%m-%d %H:%M')
    36ax.xaxis.set_major_formatter(xfmt)
    37plt.plot(dates,y)
    38plt.show()

https://github.com/RuoAndo/qiita/blob/master/python-timeseries-plot/5.py

Tracez la liste x (horodatage), y (valeur) de la 30e à la 38e ligne.

    30dates = [dateutil.parser.parse(s) for s in x]
    31
    32plt.subplots_adjust(bottom=0.2)
    33plt.xticks( rotation= 80 )
    34ax=plt.gca()
    35xfmt = md.DateFormatter('%Y-%m-%d %H:%M')
    36ax.xaxis.set_major_formatter(xfmt)
    37plt.plot(dates,y)
    38plt.show()

(`) B

Recommended Posts

Tracer CSV de données de séries temporelles avec une valeur unixtime en Python (matplotlib)
[Python] Tracer des données de séries chronologiques
Reformatez l'axe des temps du graphique de la série chronologique des pandas avec matplotlib
Graphique des données de séries chronologiques en Python à l'aide de pandas et matplotlib
[Python] Accélère le chargement du fichier CSV de séries chronologiques
Obtenez des données de séries chronologiques de k-db.com avec Python
Lire les données csv Python avec Pandas ⇒ Graphique avec Matplotlib
Voir les détails des données de séries chronologiques dans Remotte
Diagramme de séries chronologiques / Matplotlib
Formater et afficher des données de séries chronologiques avec différentes échelles et unités avec Python ou Matplotlib
Traitement pleine largeur et demi-largeur des données CSV en Python
Consolider un grand nombre de fichiers CSV dans des dossiers avec python (données sans en-tête)
Implémentation de la méthode de clustering k-shape pour les données de séries chronologiques [Apprentissage non supervisé avec python Chapitre 13]
Essayez de gratter les données COVID-19 Tokyo avec Python
[Homologie] Comptez le nombre de trous dans les données avec Python
Python: analyse des séries chronologiques: prétraitement des données des séries chronologiques
Diviser timedelta dans la série Python 2.7
"Analyse des séries chronologiques de mesure des données économiques et financières" Résolution du problème de fin de chapitre avec Python
Comment calculer la somme ou la moyenne des données csv de séries chronologiques en un instant
L'intrigue de séries temporelles a commencé ~ édition python ~
Heatmap avec dendrogramme en Python + matplotlib
Différenciation des données de séries chronologiques (discrètes)
Analyse des séries chronologiques 3 Prétraitement des données des séries chronologiques
Effectuer un tracé de probabilité normale logarithmique avec Python, matplotlib
Prédiction des données de séries chronologiques par projection simplex
Obtenez des données supplémentaires vers LDAP avec python
Entrée / sortie de données en Python (CSV, JSON)
Prédire les données de séries chronologiques avec un réseau neuronal
Essayez de travailler avec des données binaires en Python
Conversion des données de temps en notation 25 heures
Recommandation d'Altair! Visualisation des données avec Python
Comment changer plusieurs colonnes de csv dans Pandas (Unixtime-> Japan Time)
Puissance des méthodes de prédiction dans l'analyse de données chronologiques Semi-optimisation (SARIMA) [Memo]
Tracez plusieurs cartes et données en même temps avec matplotlib de Python
Réécrivez le nœud de création de champ de SPSS Modeler avec Python. Extraction de caractéristiques à partir de données de capteurs de séries temporelles
Agrégation pratique de séries chronologiques avec TimeGrouper de pandas
Visualisez les données d'infection corona à Tokyo avec matplotlib
Résumé de la lecture des données numériques avec python [CSV, NetCDF, Fortran binary]
[Python] axe limite du graphe 3D avec Matplotlib
Acquisition de données chronologiques (quotidiennes) des cours des actions
Lire les données de la table dans un fichier PDF avec Python
Visualisation en temps réel des données thermographiques AMG8833 en Python
Lissage des séries temporelles et des données de forme d'onde 3 méthodes (lissage)
Comparez la somme de chaque élément dans deux listes avec la valeur spécifiée en Python
Sortie CSV des données d'impulsion avec Raspberry Pi (sortie CSV)
[Calcul scientifique / technique par Python] Tracer, visualiser, matplotlib des données 2D avec barre d'erreur
L'histoire de la lecture des données HSPICE en Python
Comment lire les données de séries chronologiques dans PyTorch
Écrire des données CSV sur AWS-S3 avec AWS-Lambda + Python
CSV en Python
Dessinez une ligne de pliage / diagramme de dispersion avec python matplotlib pour fichier CSV (2 colonnes)
Créer un diagramme de dispersion 3D avec SciPy + matplotlib (Python)
Créez une carte chronologique animée de l'état de l'infection par le virus corona avec python + plotly
Environnement enregistré pour l'analyse des données avec Python
Évaluation de la vitesse de sortie du fichier CSV en Python
Exemple de lecture et d'écriture de CSV avec Python
Prédire le temps objectif d'un marathon complet avec l'apprentissage automatique-③: j'ai essayé de visualiser les données avec Python-
[Calcul scientifique / technique par Python] Tracé, visualisation, matplotlib de données 2D lues à partir d'un fichier