Detaillierte Python-Techniken für die Datenformung (2)

Ich habe letzte Woche ein wenig über Detaillierte Python-Techniken, die für die Datenformatierung erforderlich sind erklärt, aber es gibt noch einige andere Punkte, die zu beachten sind.

Insbesondere wenn Sie versuchen, Daten mit D3.js wie gestern zu visualisieren, müssen Sie ein JSON-Dataset generieren. Sie müssen jedoch genau wissen, welche Art von Datenstruktur das Dataset hat. nicht.

Es wäre schön, wenn Sie eine Methode wie Sprache zum Kompilieren und Ausführen verwenden könnten, mit der Sie die IDE auf Fehler überprüfen, Fehler beheben, bis sie abgeschlossen sind, und sie dann ausführen könnten. Bei JavaScript dauert es jedoch in der Regel einige Zeit, bis die Warnmeldung zur wahren Ursache gelangt, die bei der Ausführung im Browser nicht wie erwartet angezeigt wird. Ich denke, das liegt an der Ausführungsumgebung, der Art und dem Format der Daten oder einem kleinen Fehler im Code oder daran, dass das Isolieren einige Zeit in Anspruch nimmt.

Aus diesem Grund kann das korrekte Verstehen des Formats des Datensatzes und das Schreiben von Komponententests zur Sicherstellung der Genauigkeit zu Zeiteinsparungen führen. Es ist nüchtern und langwierig, aber es ist sehr wichtig, dass Sie es nicht auslassen. Es ist eine Prozedur.

Konvertierung der Skalenebene und Änderung der Zeitmarke

Betrachten Sie beispielsweise die Visualisierung von Zeitreihenprotokolldaten. Zeit ist endlos kontinuierliche Information ohne Unterbrechungen. Wenn Sie dies mit der Schiebeleiste verschieben und die Änderung der Daten aufgrund des Zeitübergangs anzeigen möchten, ändern Sie die Skalierungsstufe und die Intervallskala. Eine übliche Technik ist die Konvertierung in.

Angenommen, Sie möchten die Anzahl der Kunden für 4 Tage von 7/22 bis 7/25 anzeigen. Konvertiert Datum und Uhrzeit des Menschen mit UNIX-Zeit, um sicherzustellen, dass die Entfernungsskala gleichmäßig verteilt ist. ..

Menschliches Datum und Uhrzeit UNIX-Zeit
20140722 1404226800
20140723 1404313200
20140724 1404399600
20140725 1404486000

Um den täglichen Übergang auf diese Weise zu visualisieren, haben wir eine Funktion vorbereitet, um das Datum und die Uhrzeit des Menschen auf der linken Seite in die UNIX-Zeit umzuwandeln. In Python gibt time.mktime die UNIX-Zeit als Gleitkommatyp zurück.

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

Im obigen Beispiel müssen wir nur die tägliche Entfernungsskala finden, also haben wir 0 auf den Zeitteil festgelegt. Es ist besser, es ein wenig weiter zu verbessern, wenn der Abstand in Einheiten von 1 Stunde, 10 Minuten usw. eingestellt wird. Leser sollten darüber nachdenken, was zu tun ist.

In der Welt von JavaScript ist es außerdem üblich, die Zeit in Einheiten von 1/1000 Sekunden zu verarbeiten. Vergessen Sie nicht, die Zahl bei der Konvertierung in JSON mit 1000 zu multiplizieren.

Die Konvertierung vom UNIX-Zeitstempel in das Datum und die Uhrzeit des Menschen erfolgt wie folgt.

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

Listeneinschlussnotation

Betrachten Sie beispielsweise das folgende Datenformat. Verschachtelter Wörterbuchtyp, allgemein als assoziatives Array bezeichnet.

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

Wenn Sie dies in dem gestapelten Flächendiagramm anzeigen möchten, das Gestern eingeführt wurde, können Sie den Code der Haupteinheit verwenden. master / src / models / stackedAreaChart.js) kann das JSON-Datenformat als [mehrdimensionales Array] behandeln (https://github.com/novus/nvd3/blob/master/test/stackedAreaChartTest.html). Ich verstehe. Das Konvertieren von einem Wörterbuchtyp scheint auf den ersten Blick mühsam zu sein, kann jedoch mithilfe der Listeninhaltsnotation von Python kurz beschrieben werden.

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

In der Welt der Mathematik werden alle reellen Zahlen, ganzen Zahlen usw. als universelle Mengen interpretiert. Es ist leicht zu verstehen, wenn Sie daran denken, mit for auf die Elemente der Daten zu verweisen und für jedes eine Projektion zu erhalten. Sie können sehen, dass es der Notation der Mathematik ähnelt.

In Python 3 wurde das Verhalten der Listeneinschlussnotation zu einem Generatorausdruck verbessert, z. B. der folgenden Syntax

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

Dies entspricht der Anwendung der Funktion list () auf den Generatorausdruck wie unten gezeigt.

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

Zusammenfassung

Heute habe ich die detaillierten Techniken vorgestellt, die häufig bei der Durchführung einfacher Datenkonvertierungen auftreten.

Recommended Posts

Detaillierte Python-Techniken für die Datenformung (2)
Python-Kurs für datenwissenschaftlich-nützliche Techniken
Python für die Datenanalyse Kapitel 4
Techniken zum Sortieren in Python
Python für die Datenanalyse Kapitel 2
Python für die Datenanalyse Kapitel 3
Vorverarbeitungsvorlage für die Datenanalyse (Python)
Datenformatierung für Python / Farbdiagramme
Python-Visualisierungstool für die Datenanalyse
Zusammenfassung nützlicher Techniken von Scrapy in Python
Verwendung von "deque" für Python-Daten
[Wettbewerbsprogrammierung] [Python3] Notwendiges Wissen für sich
Memo Nr. 4, dass Python-Anfänger "Detaillierte Erklärung der Python-Grammatik" lesen
Python [für mich]
[CovsirPhy] COVID-19 Python-Paket für die Datenanalyse: Laden von Daten
Datenanalyse Python
Memo Nr. 3, dass Python-Anfänger "Detaillierte Erklärung der Python-Grammatik" lesen
Memo Nr. 1, dass Python-Anfänger "Detaillierte Erklärung der Python-Grammatik" lesen
Zeigen Sie FX (Forex) Daten Candle Stick in Python an
Memo Nr. 2, dass Python-Anfänger "Detaillierte Erklärung der Python-Grammatik" lesen
Memo Nr. 7, dass Python-Anfänger "Detaillierte Erklärung der Python-Grammatik" lesen
Memo Nr. 6 für Python-Anfänger zum Lesen von "Detaillierte Erklärung der Python-Grammatik"
Memo Nr. 5, dass Python-Anfänger "Detaillierte Erklärung der Python-Grammatik" lesen
[Python] Daten lesen
Lassen Sie uns Covid-19 (Corona) -Daten mit Python analysieren [Für Anfänger]
Datenanalyse zur Verbesserung von POG 1 ~ Web Scraping mit Python ~
Erstellen Sie Ihre eigenen Big Data in Python zur Validierung
Dimensionsreduktion hochdimensionaler Daten und zweidimensionales Plotverfahren
[Für Anfänger] So studieren Sie den Python3-Datenanalysetest
Liste der Python-Bibliotheken für Datenwissenschaftler und Dateningenieure
Kenntnisse und Studienmethoden für zukünftige Datenanalysten erforderlich
[Python] Misst und zeigt die für die Verarbeitung erforderliche Zeit an
[CovsirPhy] COVID-19 Python-Paket für die Datenanalyse: SIR-F-Modell
[CovsirPhy] COVID-19 Python-Paket für die Datenanalyse: S-R-Trendanalyse
[CovsirPhy] COVID-19 Python-Paket für die Datenanalyse: SIR-Modell
[CovsirPhy] COVID-19 Python-Paket für die Datenanalyse: Parameterschätzung
Datenanalyse mit Python 2
Python-Grundlagen ② für Anweisung
Datenanalyse Übersicht Python
Über Python für ~ (Bereich)
Techniken zum Testen von Code?
Datenbereinigung mit Python
Python Lehrbuch für Anfänger
Toolchain für Python für Android
Python-Datenanalysevorlage
[Python-Tutorial] Datenstruktur
[Python] Numpy Daten sortieren
Datenanalyse mit Python
OpenCV für Python-Anfänger
Installieren Sie Python (für Windows)
[Python] für Anweisungsfehler
Wartung der Python-Umgebung für Projekte
[CovsirPhy] COVID-19 Python-Paket für die Datenanalyse: Szenarioanalyse (Parametervergleich)
[In kürzester Zeit verstehen] Python-Grundlagen für die Datenanalyse
Welches sollte ich für die Datenanalyse studieren, R oder Python?
Stilvolle Technik zum Einfügen von CSV-Daten in Excel mit Python
Python-Code zum Schreiben von CSV-Daten in den DSX-Objektspeicher
<Python> Erstellen Sie einen Server für die Datenanalyse mit Jupyter Notebook
Abrufen von Daten aus der Analyse-API mit Google API Client für Python