[PYTHON] Lesen Sie CSV und analysieren Sie mit Pandas und Seaborn

Die Datenanalyse ist heutzutage populär geworden, daher werde ich versuchen, sie zu analysieren, indem ich ein Beispiel des Codes zeige.

der Code

Die Ausführungsumgebung ist Python3.

In diesem Artikel werden wir Folgendes tun:

Verwenden Sie "Seaborn" zum Zeichnen.

Seaborn: statistical data visualization

Zu verwendende Daten

Die zu analysierenden Daten sind wie folgt.

target.csv


datetime, id, value
20170606121314, 1,2
20170606121315, 1,3
20170606121316, 1,4
20170608121616, 1,4
20170608121617, 1,1
20170608121618, 1,2
20170606121540, 2,10
20170606121541, 2,8
20170606121542, 2,11
20170608121543, 2,4
20170606134002, 3,21
20170606134003, 3,10
20170606134004, 3,4
20170608134005, 3,50

datetime ist eine Folge von Jahr, Monat, Tag, Stunde, Minute und Sekunde. Es wird auch angenommen, dass für jede ID für einen bestimmten Zeitraum mehrere Sekunden lang für jede ID ein bestimmter "Wert" auftritt.

Analytische Arbeit mit Python

CSV-Datei lesen

python


import pandas as pd

#CSV-Lesung
df = pd.read_csv("target.csv",sep=",")
df.columns = ["datetime","id","value"]

Als Methode, um zu überprüfen, ob es gelesen wurde

df.head()

Es wird sein. Dann wird die Ausgabe wie folgt sein.

datetime id value
0 20170606121314 1 2
1 20170606121315 1 3
2 20170606121316 1 4
3 20170608121616 1 4
4 20170608121617 1 1

Die head () Methode ist eine Methode, die die ersten 5 Datenzeilen anzeigt und häufig zur Überprüfung des Dateninhalts verwendet wird.

Es gibt auch eine Methode namens "tail ()", die 5 Datenzeilen vom Ende der Daten anzeigt. Das Anzeigeergebnis ist wie folgt.

datetime id value
9 2017-06-08 12:15:43 2 4
10 2017-06-06 13:40:02 3 21
11 2017-06-06 13:40:03 3 10
12 2017-06-06 13:40:04 3 4
13 2017-06-08 13:40:05 3 50

In der folgenden Zeile wird die Spalte im Datenrahmen festgelegt.

python


df.columns = ["datetime","id","value"]

datetime-Spalte von Zeichenfolge zu datetime

python


from datetime import datetime as dt

df.datetime = df.datetime.apply(lambda d: dt.strptime(str(d), "%Y%m%d%H%M%S"))

Dies dient dazu, die Arbeit mit der Datumsspalte zu vereinfachen. Wir greifen mit df.datetime auf den Wert jeder Zeile in der datetime-Spalte zu und analysieren den String mit der strptime-Methode. Dadurch können Werte, die ursprünglich Strings waren, in Datums- und Zeittypen konvertiert werden.

Aggregieren Sie nach ID und sehen Sie die Anzahl der Datensätze

python


df_by_id= df.groupby("id")["value"].count().reset_index()
df_by_id

groupby (" id ") aggregiert Datensätze nach Wert in der ID-Spalte. Die Anzahl der Datensätze nach ID wird mit "count ()" gezählt.

Der Inhalt von df_byid ist wie folgt.

id value
0 1 6
1 2 4
2 3 4

Zeichnen Sie ein Histogramm mit der Anzahl der Datensätze auf der horizontalen Achse

python


import seaborn as sns
import matplotlib.pyplot as plt
%matplotlib inline
id_df = pd.DataFrame(df_by_id)
sns.distplot(id_df.value, kde=False, rug=False, axlabel="record_count",bins=10)

Wir benutzen eine Bibliothek namens "Seaborn", die wunderschöne Figuren zeichnet.

スクリーンショット 2017-06-25 21.31.56.png

Nach ID aggregieren und die Summe der Wertespalten anzeigen

python


df_value_sum= df.groupby("id")["value"].sum().reset_index()

Der Teil, der oben "count ()" ist, ist nur "sum ()".

Der Inhalt von df_value_sum lautet wie folgt.

id value
0 1 16
1 2 33
2 3 85

Aggregieren Sie nach ID und ermitteln Sie den Zeitpunkt, zu dem die Daten zum ersten Mal aufgetreten sind

python


start_datetime_by_id = df.groupby(["id"])["datetime"].first().reset_index()
df_date = pd.DataFrame(start_datetime_by_id)

Der Inhalt von df_date lautet wie folgt.

id datetime
0 1 2017-06-06 12:13:14
1 2 2017-06-06 12:15:40
2 3 2017-06-06 13:40:02

Zeigen Sie an, wie viele Daten an welchem Tag des Monats mit dem Datum als horizontaler Achse aufgetreten sind

python


sns.distplot(date_df.datetime.dt.month, kde=False, rug=False, axlabel="record_generate_date",hist_kws={"range": [1,30]}, bins=30)

Mit der Option hist_kws = {" range ": [1,30]} zeichnet die horizontale Achse im Bereich von 0-30. Dies ist der Ort aus den Daten vom 30. Juni 2017, an dem die Daten aufgetreten sind. Dies dient der Klarheit.

スクリーンショット 2017-06-25 21.44.55.png

Recommended Posts

Lesen Sie CSV und analysieren Sie mit Pandas und Seaborn
Lesen Sie CSV mit Python-Pandas
Lesen und Schreiben von CSV-Dateien mit Numpy
Laden Sie csv mit Pandas und spielen Sie mit Index
Lesen Sie Python-CSV-Daten mit Pandas ⇒ Graph mit Matplotlib
Lesen Sie JSON mit Python und geben Sie CSV aus
Analysieren Sie Apache-Zugriffsprotokolle mit Pandas und Matplotlib
Lesen und formatieren Sie CSV-Dateien gemischt mit Komma-Registerkarten mit Python-Pandas
CSV-Datei lesen und schreiben
[Python] Japanische CSV mit Pandas ohne verstümmelte Zeichen lesen (weitere auf Japanisch geschriebene Spalten extrahieren)
[Python] Lesen Sie die CSV-Datei und zeigen Sie die Abbildung mit matplotlib an
Lesen und Schreiben von CSV mit Python
# Zeile ignorieren und mit Pandas lesen
Laden Sie csv mit doppelten Spalten in Pandas
CSV-Datei mit Python lesen (CSV-Datei herunterladen und analysieren)
Lesen Sie Python csv und exportieren Sie es nach txt
CSV gruppieren und Mindestwert erhalten (Pandas)
Lesen von CSV-Dateien mit Pandas
Ich habe das Sudachi-Synonymwörterbuch mit Pandas gelesen und versucht, nach Synonymen zu suchen
Lesen Sie die CSV-Datei mit Python und konvertieren Sie sie unverändert in DataFrame
Lesen einer CSV-Datei mit Python 2/3
Kratzen Sie das Essen mit Python und geben Sie es an CSV aus
[Einführung in Pandas] Lesen Sie eine CSV-Datei ohne Spaltennamen und geben Sie ihr einen Spaltennamen
[Python] Wie man Excel-Dateien mit Pandas liest
Pandas Daten lesen
Installieren Sie Pip und Pandas mit Ubuntu oder VScode
Visualisieren Sie Daten interaktiv mit TreasureData, Pandas und Jupyter.
[Python3] Lesen und Schreiben mit datetime isoformat mit json
Beispiel für das Lesen und Schreiben von CSV mit Python
Lesen Sie die CSV-Datei mit dem Jupiter-Notizbuch und schreiben Sie die Grafik übereinander
Ich habe versucht, mit VOICEROID2 2 automatisch zu lesen und zu speichern
Lesen Sie die CSV-Datei und zeigen Sie sie im Browser an
Ich habe versucht, mit VOICEROID2 automatisch zu lesen und zu speichern
Übersicht und Tipps von Seaborn mit statistischer Datenvisualisierung
Lesen Sie die Linkliste im CSV-Format mit dem Graph-Tool
So extrahieren Sie Nullwerte und Nicht-Nullwerte mit Pandas
So konvertieren Sie eine JSON-Datei mit Python Pandas in eine CSV-Datei
[Python] Umgang mit Pandas read_html Lesefehler
Lesen und Schreiben von Dateien mit Slackbot ~ Bot-Entwicklung mit Python ~
Erstellen Sie mit Python Pandas Py Installer ein CSV-Formatierungswerkzeug
[Python] Ein Memo zum vertikalen Schreiben von CSV mit Pandas
Lesen Sie die json-Datei mit Python, formatieren Sie sie und geben Sie json aus
Verarbeiten Sie CSV-Daten mit Python (Zählverarbeitung mit Pandas)
Extrahieren Sie den Maximalwert mit Pandas und ändern Sie diesen Wert
[Memo] Lade csv von s3 mit boto3 in Pandas
Datensätze mit Pandas verarbeiten (1)
Konvertieren Sie 202003 bis 2020-03 mit Pandas
Datensätze mit Pandas verarbeiten (2)
Zusammenführen von Datensätzen mit Pandas
Installation von Jupyter und Pandas
Pandas lernen mit Chemoinfomatik
Datenvisualisierung mit Pandas
Datenmanipulation mit Pandas!
Pandas resample und rollen
Pandas Mittelwertbildung und Auflistung
Lesen Sie die Python-CSV-Datei
Mit und ohne WSGI
Erstellen Sie eine neue CSV mit Pandas basierend auf der lokalen CSV
Lesen Sie die URL-Liste mit Robot Framework und umgeben Sie die Screenshots