Bisher als Plotten mit pandas + matplotlib [verschiedene Datenplots mit Pandas + matplotlib]( Wir haben Dinge wie http://qiita.com/ynakayama/items/68eff3cb146181329b48) und Datenvisualisierungsmethode von matplotlib (+ pandas) eingeführt.
Auszug und Prozess Wenn Sie auf die Daten herabblicken, wird der Fluss bis zur Visualisierung erneuert. Lass uns organisieren und folgen.
Zuerst bringen wir den Datensatz in die Welt der Pandas, die zwei Hauptströme hat.
Von diesen wird 1. verwendet, wenn bereits strukturierte Daten vorhanden sind, die wie in einer externen Datei verwendet werden können. Wenn Sie beispielsweise eine Datei mit dem Namen iris.csv haben, machen Sie sie wie folgt zu einem Pandas-Objekt.
df = pd.read_csv("iris.csv")
Verwenden Sie 2., wenn Sie die Daten verarbeiten möchten, die beim Extrahieren oder Verarbeiten mit Python-Code in gewissem Umfang mit Pandas generiert wurden. pandas hat umfangreiche Dokumentation, daher möchten Sie möglicherweise darauf verweisen. Die Funktion from_dict konvertiert das Wörterbuchobjekt direkt in einen Datenrahmen. Wenn Sie den Index explizit angeben möchten, können Sie die Funktion from_records verwenden.
df = pd.DataFrame.from_records(my_dic, index=my_array)
In Datensätzen sind die X- und Y-Achse häufig die entgegengesetzten Perspektiven für den Betrachter. Selbst in einem solchen Fall ist es immer einfach, die .T-Methode Transfer Matrix zu verwenden, wenn es sich um einen Pandas-Datenrahmen handelt Sie können A1% 8C% E5% 88% 97) erhalten. Dies ist eine sehr häufige Verwendung und sollte in Erinnerung bleiben.
dft = df.T
In pandas textbook scheint df = df.T oft gesetzt zu sein, aber ich bevorzuge die zerstörungsfreie Konvertierung wie oben. ..
Das Schreiben von Code, der matplotlib verwendet, erfordert ebenfalls Versuch und Irrtum. Zu diesem Zeitpunkt ist es effizient, die Schritte des schnellen Zeichnens und Überprüfens der Abbildung des Datenrahmens auf IPython zu wiederholen.
Mit der Option ipython -i können Sie ein Python-Skript als Argument angeben, mit dem Sie die interaktive Shell bedienen können, während Sie dieses Skript ausführen. Das ist sehr praktisch.
Wenn Sie beispielsweise eine Klasse wie diese haben:
class MyClass:
def __init__(self, args):
self.my_var = args[1]
self.my_array = []
self.my_dic = {}
def my_method(self):
...
Wenn Sie die Shell als ipython -i my_class.py starten, wird MyClass geladen und Sie können das Objekt wie folgt abrufen.
my_instance = MyClass()
arr = my_instance.my_array
dic = my_instance.my_dic
Wenn Sie my_method zum Speichern von Daten in einer Instanzvariablen wie self.my_dic verwendet haben, können Sie die Daten aus dieser Instanzvariablen wie oben abrufen und von hier aus zur interaktiven Visualisierung zeichnen.
Erstens sind es die üblichen zweidimensionalen Daten, wenn sie in einen Datenrahmen konvertiert werden können, so dass gesagt werden kann, dass die zu erledigende Arbeit bis zu einem gewissen Grad offensichtlich geworden ist, wenn sie bisher erklärt wurde.
Hier sind einige Visualisierungsmethoden, die Sie zuerst ausprobieren sollten.
Als Datensatz wird die bekannte Iris verwendet.
Wir haben die Details der Abbildungen bereits mehrfach vorgestellt. Weitere Informationen finden Sie in Frühere Artikel.
Erstens ist die Standard-Streudiagrammmatrix.
plt.figure() #Bereiten Sie eine Leinwand vor
from pandas.tools.plotting import scatter_matrix
scatter_matrix(df) #Zeichnen Sie eine Streudiagrammmatrix
plt.show() #Bei der interaktiven Anzeige von Bildern
plt.savefig("1.png ") #Bei der Ausgabe in eine Bilddatei
Dies ist ein Suguremono, mit dem Sie die Korrelation zwischen jeder Spalte und jeder Zeile aus der Vogelperspektive betrachten können. Wenn Sie Ihren Geist stabilisieren können, indem Sie sich die Streudiagramm-Prozession ansehen, werden Sie daran gewöhnt sein.
Danach werden der Schritt zum Vorbereiten der Leinwand und der Schritt zum Ausgeben des Bildes weggelassen.
df.plot(legend=True)
Wie ich schon oft erwähnt habe, ist Pandas standardmäßig True. Wenn Sie die Abbildung aufgrund der Erklärung nicht gut sehen können, können Sie legend = False setzen.
Wenn Sie versuchen, die ersten 10 Datenrahmen zu zeichnen, sieht dies folgendermaßen aus.
df10 = df.head(10)
df10.plot(kind='barh', stacked=True, alpha=0.5, legend=True)
Balkendiagramme sind nützlich, wenn Sie in einem eindimensionalen Vektorraum eingrenzen und visualisieren möchten.
df['sepal width'].hist()
Dies ist nützlich, um Änderungen in mehreren Daten im Laufe der Zeit zu verfolgen.
df.plot(kind='area', legend=True)
Wie wäre es mit. Wenn Sie sich daran gewöhnt haben, werden Sie unwissentlich die interaktive Shell verwenden, um zu zeichnen, wenn Sie den Daten gegenüberstehen. Sie können sehen, wie produktiv IPython ist, das schnelles Ausprobieren ermöglicht, und pandas + matplotlib, das nahtlos mit Python verwendet werden kann, als produktives Tool.
Recommended Posts