Techniques Python détaillées requises pour la mise en forme des données (2)

J'ai expliqué un peu les techniques Python détaillées requises pour le formatage des données la semaine dernière, mais il y a d'autres points à garder à l'esprit.

Surtout lorsque vous essayez de visualiser des données avec D3.js comme hier, il est nécessaire de générer un ensemble de données JSON, mais vous devez bien comprendre le type de structure de données de l'ensemble de données. ne pas.

Ce serait bien si vous pouviez prendre une méthode telle que Language to compile and execute pour vérifier les erreurs sur l'EDI, corriger les bogues jusqu'à ce qu'il soit terminé, puis l'exécuter. Cependant, dans le cas de JavaScript, il a tendance à prendre du temps pour passer du message d'avertissement à la véritable cause, qui ne s'affiche pas comme prévu lors de l'exécution dans le navigateur. Je pense que c'est à cause de l'environnement d'exécution, du type et du format des données, ou d'une petite erreur dans le code, ou parce qu'il faut du temps pour isoler.

C'est pourquoi comprendre correctement le format de l'ensemble de données, écrire des tests unitaires pour garantir l'exactitude peut entraîner des gains de temps, et c'est sobre et fastidieux, mais il est très important de ne pas l'omettre. C'est une procédure.

Conversion de niveau d'échelle et changement de marque de temps

Par exemple, envisagez de visualiser les données du journal de séries chronologiques. Le temps est une information sans cesse continue sans aucune interruption en premier lieu. Si vous souhaitez déplacer cela avec la barre de défilement et afficher le changement de données dû au passage du temps, modifiez le Niveau d'échelle et l'échelle d'intervalle. Une technique courante consiste à convertir en.

Supposons que vous souhaitiez afficher le nombre de clients pendant 4 jours du 22/07 au 25/07. Convertit la date et l'heure humaines avec heure UNIX pour garantir que l'échelle de distance est uniformément espacée. ..

Date et heure humaines Heure UNIX
20140722 1404226800
20140723 1404313200
20140724 1404399600
20140725 1404486000

Afin de visualiser la transition quotidienne de cette manière, nous avons préparé une fonction pour convertir la date et l'heure humaines sur le côté gauche en heure UNIX. En Python, time.mktime renvoie l'heure UNIX sous forme de type à virgule flottante.

def to_unixtime(self, d):
    # time.mktime(2014,07,22,0,0,0,0,0,0)Faire
    return int(time.mktime((int(d[0:4]),int(d[5:6]),int(d[7:8]),0,0,0,0,0,0)))

Dans l'exemple ci-dessus, nous n'avons besoin que de trouver l'échelle de distance quotidienne, nous avons donc fixé 0 à la partie temps. Il vaudrait mieux l'améliorer un peu plus pour le cas du réglage de la distance en unités de 1 heure, 10 minutes, etc. Les lecteurs doivent réfléchir à ce qu'il faut faire.

De plus, dans le monde de JavaScript, il est courant de gérer le temps en unités de 1/1000 de seconde. N'oubliez pas de multiplier le nombre par 1000 lors de la conversion en JSON.

La conversion de l'horodatage UNIX en date et heure humaines est effectuée comme suit.

now = 1406255406992 / 1000
datetime.datetime.fromtimestamp(now)
#=> datetime.datetime(2014, 7, 25, 11, 30, 6, 992000)

Notation d'inclusion de liste

Par exemple, considérez le format de données suivant. Type de dictionnaire imbriqué, généralement appelé tableau associatif.

{1404399600.0: {'a': 1, 'b': 2}, 1404486000.0: {'c': 3, 'd': 4}}

Si vous souhaitez l'afficher dans le graphique de zone empilée présenté Hier, vous pouvez utiliser le Code de l'unité principale. master / src / models / stackedAreaChart.js) peut traiter le format de données JSON comme un tableau multidimensionnel Je comprends. La conversion à partir d'un type de dictionnaire semble être gênante à première vue, mais elle peut être décrite de manière concise en utilisant la notation de contenu de liste de Python.

[[a*1000,b] for a,b in v.items()]
#=> [[1404399600000.0, {'a': 1, 'b': 2}], [1404486000000.0, {'c': 3, 'd': 4}]]

Dans le monde des mathématiques, tous les nombres réels, entiers, etc. sont interprétés comme des ensembles universels. C'est facile à comprendre si vous pensez à utiliser for pour faire référence aux éléments des données et obtenir une projection pour chacun. Vous pouvez voir que cela ressemble à la notation des mathématiques.

Dans Python 3, le comportement de la notation d'inclusion de liste a été amélioré en une expression de générateur, par exemple, la syntaxe suivante

[f(x) for x in S if P(x)]

Cela équivaut à appliquer la fonction list () à l'expression du générateur comme indiqué ci-dessous.

list(f(x) for x in S if P(x))

Résumé

Aujourd'hui, j'ai présenté les techniques détaillées qui apparaissent souvent lors de la simple conversion de données.

Recommended Posts

Techniques Python détaillées requises pour la mise en forme des données (2)
Cours Python pour la science des données - techniques utiles
Python pour l'analyse des données Chapitre 4
Techniques de tri en Python
Python pour l'analyse des données Chapitre 2
Python pour l'analyse des données Chapitre 3
Modèle de prétraitement pour l'analyse des données (Python)
Formatage des données pour les graphiques Python / couleur
Outil de visualisation Python pour le travail d'analyse de données
Résumé des techniques utiles de Scrapy en Python
Comment utiliser "deque" pour les données Python
[Programmation de compétition] [Python3] Connaissances nécessaires, pour vous-même
Mémo n ° 4 que les débutants Python lisent "Explication détaillée de la grammaire Python"
python [pour moi]
[CovsirPhy] Package Python COVID-19 pour l'analyse des données: chargement des données
Analyse de données python
Mémo n ° 3 que les débutants Python lisent "Explication détaillée de la grammaire Python"
Mémo n ° 1 que les débutants Python lisent "Explication détaillée de la grammaire Python"
Afficher la bougie de données FX (forex) en Python
Mémo n ° 2 que les débutants Python lisent "Explication détaillée de la grammaire Python"
Mémo n ° 7 que les débutants Python lisent "Explication détaillée de la grammaire Python"
Mémo n ° 6 pour les débutants Python à lire "Explication détaillée de la grammaire Python"
Mémo n ° 5 que les débutants Python lisent "Explication détaillée de la grammaire Python"
[python] Lecture de données
Analysons les données Covid-19 (Corona) en utilisant Python [Pour les débutants]
Analyse de données pour améliorer POG 1 ~ Web scraping avec Python ~
Créez votre propre Big Data en Python pour validation
Réduction dimensionnelle des données haute dimension et méthode de traçage bidimensionnel
[Pour les débutants] Comment étudier le test d'analyse de données Python3
Liste des bibliothèques Python pour les data scientists et les data ingénieurs
Connaissances et méthodes d'étude requises pour les futurs analystes de données
[Python] Mesure et affiche le temps nécessaire au traitement
[CovsirPhy] Package Python COVID-19 pour l'analyse de données: modèle SIR-F
[CovsirPhy] Package Python COVID-19 pour l'analyse des données: analyse des tendances S-R
[CovsirPhy] Package Python COVID-19 pour l'analyse des données: modèle SIR
[CovsirPhy] Package Python COVID-19 pour l'analyse des données: estimation des paramètres
Analyse de données avec python 2
Bases de Python ② pour déclaration
Présentation de l'analyse de données python
À propos de Python, pour ~ (plage)
Techniques de test de code?
Nettoyage des données à l'aide de Python
Manuel python pour les débutants
Toolchain pour Python pour Android
Modèle d'analyse de données Python
[Tutoriel Python] Structure des données
[Python] Tri des données Numpy
Analyse de données avec Python
OpenCV pour les débutants en Python
Installez Python (pour Windows)
[Python] pour une erreur d'instruction
Maintenance de l'environnement Python pour les projets
[CovsirPhy] Package Python COVID-19 pour l'analyse de données: analyse de scénario (comparaison de paramètres)
[Comprendre au plus court] Principes de base de Python pour l'analyse des données
Lequel dois-je étudier, R ou Python, pour l'analyse des données?
Technique élégante pour coller des données CSV dans Excel avec Python
Code Python pour l'écriture de données CSV dans le stockage d'objets DSX
<Python> Construisez un serveur dédié pour l'analyse des données Jupyter Notebook
Obtenez des données de l'API d'analyse avec le client API Google pour python