Visualisieren Sie Ihre Daten ganz einfach mit Python Seaborn.

Matplotlib wurde in die verstümmelte Eliminierungsmethode eingeführt, aber um ehrlich zu sein, habe ich überhaupt keine Lust, sie zu verwenden.

Ich frage mich, ob es mehr als 30 Argumente gibt, die nur mit der Plotfunktion angegeben werden können. http://matplotlib.org/api/pyplot_api.html#matplotlib.pyplot.plot

Property	Description
agg_filter	unknown
alpha		float (0.0 transparent through 1.0 opaque)
animated	[True | False]
antialiased or aa	[True | False]
axes		an Axes instance
clip_box	a matplotlib.transforms.Bbox instance
clip_on		[True | False]
...

Trotzdem ist das Ergebnis so ein beschissener Graph.

Es scheint, dass Sie, wenn Sie Ihr Bestes geben, schöne Grafiken zeichnen können, aber Sie haben nicht viel Motivation zu lernen.

Hier kommt seaborn ins Spiel.

Seaborn is a Python visualization library based on matplotlib. It provides a high-level interface for drawing attractive statistical graphics.

Mit anderen Worten, es bietet eine übergeordnete (abstrahierte) Schnittstelle als Wrapper für matplotlib.

Es ist wie ein Anfragepaket für urllib.

Die Benutzeroberfläche ist ebenfalls wichtig, aber wenn Sie eine solche Heatmap mit etwa 10 Codezeilen zeichnen können, werden Sie zum Lernen motiviert sein.

Ich habe jedoch nicht die Daten, die plötzlich eine Heatmap zu zeichnen scheinen, daher werde ich versuchen, ein grundlegendes Diagramm mit den Stromverbrauchsdaten meiner Haushaltsgeräte zu zeichnen.

$Katzenkühlschrank.csv 
No.,DateTime,Watt,kWh
    1,2015/03/02-23:25:44,58.9,0
    2,2015/03/02-23:35:44,50.6,0.01
    3,2015/03/02-23:45:44,50.3,0.02
    4,2015/03/02-23:55:44,61.7,0.02
    5,2015/03/03-00:05:44,72.4,0.03
    6,2015/03/03-00:15:44,51.3,0.04
    7,2015/03/03-00:25:44,47.7,0.05
    8,2015/03/03-00:35:44,47.6,0.06
    9,2015/03/03-00:45:44,20.2,0.06
   10,2015/03/03-00:55:44,40.5,0.06

Dies ist das von Sanwa Supply TAP-TST10 erfasste Protokoll. Der Nachteil ist, dass Sie sich nicht in Echtzeit anmelden können, aber ... nun, es ist billig.

Wenn Sie dies mit Pandas in DataFrame konvertieren, wird es so sein.

import pandas as pd

data = pd.read_csv("Kühlschrank.csv")
print(data)

       No.             DateTime  Watt    kWh
0        1  2015/03/02-23:25:44  58.9   0.00
1        2  2015/03/02-23:35:44  50.6   0.01
2        3  2015/03/02-23:45:44  50.3   0.02
3        4  2015/03/02-23:55:44  61.7   0.02
4        5  2015/03/03-00:05:44  72.4   0.03
5        6  2015/03/03-00:15:44  51.3   0.04
6        7  2015/03/03-00:25:44  47.7   0.05
7        8  2015/03/03-00:35:44  47.6   0.06
8        9  2015/03/03-00:45:44  20.2   0.06
9       10  2015/03/03-00:55:44  40.5   0.06
10      11  2015/03/03-01:05:44  59.4   0.07
...
[1441 rows x 4 columns]

print(data.DateTime)
0       2015/03/02-23:25:44
1       2015/03/02-23:35:44
2       2015/03/02-23:45:44
3       2015/03/02-23:55:44
4       2015/03/03-00:05:44
5       2015/03/03-00:15:44
6       2015/03/03-00:25:44
7       2015/03/03-00:35:44
8       2015/03/03-00:45:44
9       2015/03/03-00:55:44
10      2015/03/03-01:05:44
...
Name: DateTime, dtype: object

print(data['Watt'])
0       58.9
1       50.6
2       50.3
3       61.7
4       72.4
5       51.3
6       47.7
7       47.6
8       20.2
9       40.5
10      59.4
Name: Watt, dtype: float64

Der Code, um dies mit Seaborn zu visualisieren, lautet wie folgt.

import seaborn as sns
import pandas as pd

data = pd.read_csv("Kühlschrank.csv")

#Verwenden Sie ein relativ einfaches Punktdiagramm
ax = sns.pointplot(
    x='DateTime',   #DateTime auf der x-Achse
    y='Watt',       #Watt auf der y-Achse
    data=data,      #Geben Sie DataFrame an
    markers=[''])   #Markierungen ausblenden, um Daten zu zeichnen

#Da in Richtung der x-Achse zu viele Daten vorhanden sind, werden Beschriftungen jeden Tag ausgedünnt (Daten werden nicht ausgedünnt).
xlabels = [datetime.split('-')[0]
    if list(data.DateTime).index(datetime) % 144 is 0 else ''
    for datetime in data.DateTime]

#Stellen Sie die Beschriftung der x-Achse ein und drehen Sie die Beschriftungsanzeige um 90 Grad
ax.set_xticklabels(xlabels, rotation='vertical')

#In PNG-Datei exportieren
sns.plt.savefig('Kühlschrank.png')

Die Daten sind zu verstopft ...

Wie folgt etwas ausdünnen.

data = pd.read_csv("Kühlschrank.csv")[:360]

Diesmal fühlt es sich gut an.

Der Nennstromverbrauch des Kühlschranks wird mit ca. 110 W angegeben. Wenn Sie also den Spitzenwert von 114,0 W sehen, entspricht er fast den Angaben.

data.Watt.mean()
44.557499999999997

data.Watt.min()
2.2999999999999998

data.Watt.max()
114.0

Was ist der Stromverbrauch?

import seaborn as sns
import pandas as pd

data = pd.read_csv("Kühlschrank.csv")

#Verwenden Sie ein relativ einfaches Punktdiagramm
ax = sns.pointplot(
    x='DateTime',   #DateTime auf der x-Achse
    y='kWh',        #kWh (integrierter Stromverbrauch) auf der y-Achse
    data=data,      #Geben Sie DataFrame an
    markers=[''])   #Markierungen ausblenden, um Daten zu zeichnen

#Da in Richtung der x-Achse zu viele Daten vorhanden sind, werden Beschriftungen jeden Tag ausgedünnt (Daten werden nicht ausgedünnt).
xlabels = [datetime.split('-')[0]
    if list(data.DateTime).index(datetime) % 144 is 0 else ''
    for datetime in data.DateTime]

#Stellen Sie die Beschriftung der x-Achse ein und drehen Sie die Beschriftungsanzeige um 90 Grad
ax.set_xticklabels(xlabels, rotation='vertical')

#In PNG-Datei exportieren
sns.plt.savefig('Kühlschrank kWh.png')

Sie können sehen, dass der Stromverbrauch etwa 1 kWh / Tag beträgt.

data.kWh.max() / 10.0
1.0589999999999999

Seaborn API-Referenz und [Galerie](http://stanford.edu/~mwaskom/software/seaborn/examples/index. Bei HTML) ist die Spannung hoch.

Zuallererst muss ich in der Lage sein, die Werkzeuge zu beherrschen.

Recommended Posts

Visualisieren Sie Ihre Daten ganz einfach mit Python Seaborn.
Datenanalyse beginnend mit Python (Datenvisualisierung 1)
Datenanalyse beginnend mit Python (Datenvisualisierung 2)
Empfehlung von Altair! Datenvisualisierung mit Python
Datenanalyse mit Python 2
Python-Datenvisualisierungsbibliotheken
Datenvisualisierung mit Pandas
Datenanalyse mit Python
Visualisierung der Logistik mit Python
Mit Python erstellte Beispieldaten
[Analyse des gemeinsamen Auftretens] Einfache Analyse des gemeinsamen Auftretens mit Python! [Python]
Holen Sie sich Youtube-Daten mit Python
Einfache Ordnersynchronisation mit Python
Python-Anwendung: Datenvisualisierung # 2: matplotlib
Einfache Python-Kompilierung mit NUITKA-Utilities
Lesen von JSON-Daten mit Python
Übersicht und Tipps von Seaborn mit statistischer Datenvisualisierung
Wunderschönes Zeichnen mit Python-Seaborn erleichtert die Datenanalyse und -visualisierung Teil 2
[Python] Einfache Parallelverarbeitung mit Joblib
Python aber einfache Visualisierung mit PixieDust
Python-Datenstruktur mit Chemoinfomatik gelernt
Einfache Mailübertragung mit Eile Python3
Bayesianische Optimierung, die mit Python sehr einfach ist
Python-Anwendung: Datenvisualisierung Teil 1: Grundlegend
Verarbeiten Sie Pubmed .xml-Daten mit Python
Einfache parallele Ausführung mit Python-Unterprozess
Implementieren Sie "Data Visualization Design # 2" mit matplotlib
Anwendung von Python: Datenbereinigung Teil 2: Datenbereinigung mit DataFrame
Die Datenvisualisierungsbibliothek "folium" von Python ist sehr einfach zu bedienen
Holen Sie sich mit Python zusätzliche Daten zu LDAP
Einfache Schlüsselwortextraktion mit TermExtract für Python
Empfangen Sie Textdaten von MySQL mit Python
[Python] Super einfacher Test mit Assert-Anweisung
[Hinweis] Mit Python Daten von PostgreSQL abrufen
[Python] Einfache Überprüfung des Argumenttyps mit Datenklasse
Anwendung von Python: Datenvisualisierung Teil 3: Verschiedene Grafiken
Python-Visualisierungstool für die Datenanalyse
Verarbeiten Sie Pubmed .xml-Daten mit Python [Teil 2]
Holen Sie sich Lebensmitteldaten mit Amazon API (Python)
Generieren Sie japanische Testdaten mit Python faker
Ich habe eine Heatmap mit Seaborn [Python] gezeichnet.
Konvertieren Sie Excel-Daten mit Python in JSON
Laden Sie japanische Aktienkursdaten mit Python herunter
Einfache Einführung der Spracherkennung mit Python
Bearbeiten von DynamoDB-Daten mit Lambda (Node & Python)
[Easy Python] Lesen von Excel-Dateien mit openpyxl
Einfache Web-App mit Python + Flask + Heroku
Verarbeiten Sie Bilder in Python ganz einfach mit Pillow
Datenanalyse beginnend mit Python (Datenvorverarbeitung - maschinelles Lernen)
Lassen Sie uns MySQL-Daten mit Python bearbeiten
Text Mining mit Python ② Visualisierung mit Word Cloud
Organisieren Sie mit Python nach Ordnern getrennte Daten
[Easy Python] Lesen von Excel-Dateien mit Pandas
Einfaches Web-Scraping mit Python und Ruby
[Python] Probieren Sie mit Keras-RL ganz einfach erweitertes Lernen (DQN) aus
Verarbeiten Sie Big Data mit Dataflow (ApacheBeam) + Python3
FizzBuzz in Python3