[PYTHON] Vielseitige Datenerfassung mit Pandas + Matplotlib

Python als Sprache für die Berechnung von Wissenschaft und Technologie

Warum werden wissenschaftliche und technologische Berechnungen wie Datenanalysen überhaupt in Python durchgeführt? Dies hängt hauptsächlich von den folgenden zwei Punkten ab.

  1. Umfangreiche Bibliotheken wie NumPy, Pandas, Matplotlib sind verfügbar
  2. Kann als vielseitige Klebesprache verwendet werden

R ist möglicherweise einfacher, wenn Sie nur Berechnungen mit Datenrahmen durchführen und diese zeichnen. Durch Abschluss der statistischen Analyse mit dem vielseitigen Python kann es jedoch auf einen größeren Bereich von Feldern angewendet werden.

NumPy

Die meisten statistischen Analysen umfassen Vektoroperationen. NumPy bietet ndarray, eine schnelle, speichereffiziente Implementierung mehrdimensionaler Arrays. Es ermöglicht hochdimensionale Vektoroperationen, die mit Arrays und Hash-Objekten, die Programmiersprachen inhärent sind, nicht erreicht werden können. Sie können auch ausgefallene Indexreferenzen erstellen (= Integer-Arrays für Indexreferenzen verwenden).

Vektorskalaroperation

Da die Berechnung von Wissenschaft und Technologie kompliziert ist, wäre es schwierig, für jedes Element des Vektors eine Schleife zu schreiben. Daher kann gesagt werden, dass die Vektorberechnung nahezu unverzichtbar ist. In NumPy können Sie auch ndarray- und skalare Operationen wie folgt schreiben:

arr = np.array ( [[1., 2., 3.], [4., 5., 6.]] ) #ndarray Objekt

arr * arr #Vektorintegration
# => array([[  1.,   4.,   9.],
#       [ 16.,  25.,  36.]])

arr - arr #Vektorsubtraktion
# => array([[ 0.,  0.,  0.],
#       [ 0.,  0.,  0.]])

1 / arr #Skalar- und Ndarray-Arithmetik
# => array([[ 1.        ,  0.5       ,  0.33333333],
#        [ 0.25      ,  0.2       ,  0.16666667]])

arr2d = np.array ([[1,2,3],[4,5,6],[7,8,9]])

arr2d[:2] #Indexreferenz nach Slice
# => array([[1, 2, 3],
#        [4, 5, 6]])

arrf = np.arange(32).reshape((8,4))
arrf # => array([[ 0,  1,  2,  3],
#        [ 4,  5,  6,  7],
#        [ 8,  9, 10, 11],
#        [12, 13, 14, 15],
#        [16, 17, 18, 19],
#        [20, 21, 22, 23],
#        [24, 25, 26, 27],
#        [28, 29, 30, 31]])
arrf[[1,5,7,2]][:,[0,3,1,2]] #Siehe ausgefallener Index
# => array([[ 4,  7,  5,  6],
#        [20, 23, 21, 22],
#        [28, 31, 29, 30],
#        [ 8, 11,  9, 10]])

Neudefinition der Datenstruktur mit Pandas

Während NumPy allein sehr nützlich ist, bietet Pandas eine noch R-ähnliche Datenstruktur. Dies sind die Serie und der DataFrame. Der Begriff Datenrahmen wird auch in R häufig verwendet, sodass diejenigen, die R verwendet haben, damit vertraut sind. Eine Reihe ist ein eindimensionales Array-ähnliches Objekt, und ein Datenrahmen hat eine tabellarische Zeilen- und Spaltendatenstruktur.

Plotten mit Pandas + Matplotlib

Matplotlib, das häufig in Artikeln bis Gestern erwähnt wird, ist eine leistungsstarke Bibliothek zur Datenvisualisierung. Durch die Kombination mit Pandas können Sie verschiedene Datenanalyseergebnisse zeichnen und visualisieren. Lassen Sie uns sofort unsere Hände bewegen, da wir Lehrbücher und offizielle Websites ausführlich erklären werden.

Serienplotten

from pylab import *
from pandas import *
import matplotlib.pyplot as plt
import numpy as np
ts = Series(randn(1000), index=date_range('1/1/2000', periods=1000))
ts = ts.cumsum()
ts.plot()
plt.show()
plt.savefig("image.png ")

image.png

Datenrahmen-Plotten

Um Japanisch mit matplotlib verarbeiten zu können, muss die Schriftart angegeben werden. Versuchen wir es mit Japanisch.

# -*- coding: utf-8 -*-
from pylab import *
from pandas import *
import matplotlib.pyplot as plt
import numpy as np
from matplotlib import font_manager #Erforderlich, um Japanisch zu verwenden
fontprop = matplotlib.font_manager.FontProperties(fname="/usr/share/fonts/truetype/fonts-japanese-gothic.ttf") #Geben Sie den Speicherort der Schriftartdatei an
df = DataFrame(randn(1000, 4), index=ts.index, columns=list('ABCD'))
df = df.cumsum()
plt.figure()
df.plot()
plt.legend(loc='best')
ax = df.plot(secondary_y=['A', 'B'])
ax.set_ylabel('CD-Verkauf', fontdict = {"fontproperties": fontprop})
ax.right_ax.set_ylabel('AB-Skala', fontdict = {"fontproperties": fontprop})
plt.show()
plt.savefig("image2.png ")

image2.png

Japanisch wird angezeigt. Eigentlich sollten Sie die Schriftparameter etwas mehr anpassen.

Subprotting

matplotlib ermöglicht auch das Zeichnen von Plots innerhalb von Plots.

df.plot(subplots=True, figsize=(6, 6)); plt.legend(loc='best')
plt.show()
plt.savefig("image3.png ")

image3.png

fig, axes = plt.subplots(nrows=2, ncols=2)
df['A'].plot(ax=axes[0,0]); axes[0,0].set_title('A')
df['B'].plot(ax=axes[0,1]); axes[0,1].set_title('B')
df['C'].plot(ax=axes[1,0]); axes[1,0].set_title('C')
df['D'].plot(ax=axes[1,1]); axes[1,1].set_title('D')
plt.show()
plt.savefig("image4.png ")

image4.png

Balkendiagramm

plt.figure();
df.ix[5].plot(kind='bar'); plt.axhline(0, color='k')
plt.show()
plt.savefig("image5.png ")

image5.png

df2 = DataFrame(rand(10, 4), columns=['a', 'b', 'c', 'd'])
df2.plot(kind='bar');
plt.show()
plt.savefig("image6.png ")

image6.png

Balkendiagramm-Subprotting

Natürlich können auch Balkendiagramme (beliebige andere) unterzeichnet werden.

df.diff().hist(color='k', alpha=0.5, bins=50)
plt.show()
plt.savefig("image8.png ")

image8.png

data = Series(randn(1000))
data.hist(by=randint(0, 4, 1000), figsize=(6, 4))
plt.show()
plt.savefig("image9.png ")

image9.png

Verschiedene Datenvisualisierung

matplotlib kann eine Vielzahl anderer Diagramme zeichnen, aber hier sind einige davon.

from pandas.tools.plotting import bootstrap_plot
data = Series(rand(1000))
bootstrap_plot(data, size=50, samples=500, color='grey')
plt.show()
plt.savefig("image12.png ")

image12.png

df = DataFrame(randn(1000, 10), index=ts.index)
df = df.cumsum()
plt.figure()
df.plot(colormap='jet')
plt.show()
plt.savefig("image13.png ")

image13.png

dd = DataFrame(randn(10, 10)).applymap(abs)
dd = dd.cumsum()
plt.figure()
dd.plot(kind='bar', colormap='Greens')
plt.show()
plt.savefig("image14.png ")

image14.png

from pandas.tools.plotting import scatter_matrix
df = DataFrame(randn(1000, 4), columns=['a', 'b', 'c', 'd'])
scatter_matrix(df, alpha=0.2, figsize=(6, 6), diagonal='kde')
plt.show()
plt.savefig("image11.png ")

image11.png

Erwägung

Wir haben festgestellt, dass NumPy erweiterte Vektoroperationen bietet, Pandas R-ähnliche Datenstrukturen bereitstellt und matplotlib eine leicht verständliche Visualisierung ihrer Berechnungen bietet. Mit einem so leistungsstarken Tool wäre es für die Datenanalyse sehr ermutigend. In der Statistik und beim maschinellen Lernen sind Berechnungen im Zusammenhang mit der linearen Algebra fast unverzichtbar. Es ist jedoch wichtig, sich zuerst mit diesen Bibliotheken vertraut zu machen.

Referenz

Ausführliche Erläuterungen finden Sie in den Informationen auf jeder offiziellen Website.

NumPy http://www.numpy.org/

pandas http://pandas.pydata.org/

matplotlib http://matplotlib.org/#

Recommended Posts

Vielseitige Datenerfassung mit Pandas + Matplotlib
Datenvisualisierung mit Pandas
Datenmanipulation mit Pandas!
Daten mit Pandas mischen
Lesen Sie Python-CSV-Daten mit Pandas ⇒ Graph mit Matplotlib
Implementieren Sie "Data Visualization Design # 3" mit Pandas und Matplotlib
Zeichnen Sie Excel-Daten mit matplotlib (1)
Zeichnen Sie Excel-Daten mit matplotlib (2)
Datenverarbeitungstipps mit Pandas
Datenvisualisierungsmethode mit Matplotlib (+ Pandas) (5)
Datenvisualisierungsmethode mit Matplotlib (+ Pandas) (3)
Datenvisualisierungsmethode mit Matplotlib (+ Pandas) (4)
Implementieren Sie "Data Visualization Design # 2" mit matplotlib
Tipps zum Zeichnen mehrerer Linien mit Pandas
Versuchen Sie, mit Pandas in ordentliche Daten umzuwandeln
Zeichnen Sie eine hierarchische Achsenbeschriftung mit matplotlib + pandas
Behandeln Sie 3D-Datenstrukturen mit Pandas
Beispiel für eine effiziente Datenverarbeitung mit PANDAS
Best Practices für den Umgang mit Daten mit Pandas
Pandas Daten lesen
Animation mit matplotlib
Japanisch mit Matplotlib
Animation mit matplotlib
Histogramm mit Matplotlib
Erstellen Sie eine Animation mit matplotlib
Visualisieren Sie Korona-Infektionsdaten in Tokio mit matplotlib
Pandas-Grundlagen für Anfänger ③ Erstellen Sie ein Histogramm mit matplotlib
Versuchen Sie, Doujin-Musikdaten mit Pandas zu aggregieren
Analysieren Sie Apache-Zugriffsprotokolle mit Pandas und Matplotlib
Visualisieren Sie Daten interaktiv mit TreasureData, Pandas und Jupyter.
Machen Sie Urlaubsdaten mit Pandas zu einem Datenrahmen
Datenanalyse mit Python 2
Mit Pandas schnell visualisieren
2-Achsen-Plot mit Matplotlib
Datensätze mit Pandas verarbeiten (1)
Holen Sie sich Amazon RDS (PostgreSQL) -Daten mithilfe von SQL mit Pandas
Bootstrap-Sampling mit Pandas
Konvertieren Sie 202003 bis 2020-03 mit Pandas
Zusammenführen von Datensätzen mit Pandas
Pandas lernen mit Chemoinfomatik
So konvertieren Sie horizontal gehaltene Daten mit Pandas in vertikal gehaltene Daten
Seien Sie vorsichtig beim Lesen von Daten mit Pandas (geben Sie dtype an)
Daten mit TensorFlow lesen
Aufbau einer Datenanalyseumgebung mit Python (IPython Notebook + Pandas)
Heatmap von Python + matplotlib
So extrahieren Sie mit Pandas Daten, denen der Wert nan nicht fehlt
Banddiagramm mit Matplotlib
Lernen Sie mit Chemo Informatics Matplotlib
Verarbeiten Sie CSV-Daten mit Python (Zählverarbeitung mit Pandas)
Echtzeitzeichnung mit Matplotlib
Verschiedene Farbleisten mit Matplotlib
Datenerweiterung mit openCV
3D-Plot mit Matplotlib
Daten mit Scipy normieren
Datenanalyse mit Python
[Numpy / Pandas / Matplotlib Übung 01]
So extrahieren Sie mit Pandas Daten, denen der Wert nan nicht fehlt
LADEN SIE DATEN mit PyMysql
Stellen Sie die Achsen mit matplotlib ein
Erste Schritte mit dem Zeichnen mit matplotlib: Erstellen von Diagrammen aus Datendateien
Hinweise zum Umgang mit großen Datenmengen mit Python + Pandas