Pandas meistern: Wichtige Pandas-Funktionen für Ihr nächstes Projekt

Veröffentlicht: 2020-11-30

Die Pandas-Bibliothek ist aufgrund ihrer Benutzerfreundlichkeit, einer breiten Palette von Funktionen und einer besseren Interpretation der Ergebnisse seit jeher ein Favorit für alle Datenwissenschaftler oder Analysten. Jedem, der seine Data-Science-Reise beginnt, wird empfohlen, Pandas gut zu beherrschen und Pipelines zu entwickeln, um den manuellen Aufwand für die Bereinigung und Vorverarbeitung der Daten zu reduzieren.

Pandas basiert auf Numpy, was eine schnellere Ausführung von Befehlen ermöglicht und die Arbeit in kürzerer Zeit erledigt. In diesem Artikel stellen wir einige unterschätzte Pandas-Funktionen vor, die die Codequalität Ihres Projekts bereichern können.

Bevor Sie fortfahren, hier eine kurze Legende:

  • Alle genannten Befehle gehen davon aus, dass der Datenrahmen „df“ heißt, was ein Objekt von pd.DataFrame() ist.
  • Die Pandas-Bibliothek wurde als Alias ​​​​als „pd“ importiert.

Inhaltsverzeichnis

String-Zugriffsmethoden

Zeichenfolgen- oder Textdaten tragen einen großen Teil zu einem Datensatz bei. Ob es sich um Informationen zu Autor, Titel, Veröffentlichung eines Buches oder Tweets für einen bestimmten Hashtag handelt, wir haben viele Textdaten, und diese Daten sind nützlich, wenn sie richtig bereinigt und in jeden Klassifikator wie Naive Bayes usw. eingespeist werden Hier sind einige Tricks, die Sie anwenden können:

  • Um auf die Daten des String-Typs zuzugreifen, verwenden Sie den Accessor „str“. Beispiel: df['Spaltenname'].str
  • Dadurch können alle Zeichenfolgenoperationen für die ausgewählte Spalte ausgeführt werden.
  • Einige gängige Operationen umfassen,
    • df['column_name'].str.len(): Länge jedes Strings
    • .str.split(): Teilung bei bestimmtem Zeichen
    • .str.contains(): Gibt T/F darüber zurück, ob das bestimmte Wort in der Zeichenfolge vorhanden ist
    • .str.count(): Gibt die Anzahl der Zeilen zurück, die den übergebenen regulären Ausdruck erfüllen.
    • .str.findall(): Gibt die Ergebnisse zurück, die mit dem übergebenen Ausdruck übereinstimmen.
    • .str.replace(): Dasselbe wie findall, aber hier werden übereinstimmende Elemente ersetzt
    • Alle Zeichenfolgenoperationen wie .title, .isalpha, .isalnum, .isdecimal usw. werden unterstützt.

Lesen Sie auch: Pandas Dataframe Astype

Datetime-Accessoren

Daten und Uhrzeiten sind in Datensätzen üblicherweise in Form von Zeitstempeln, Startzeiten, Endzeiten oder anderen mit diesem Ereignis verbundenen Zeitangaben vorhanden. Es ist nützlich, diese Daten richtig zu analysieren, da sie Trends entlang einer Zeitachse liefern, die ausgegeben werden können, um zukünftige Ereignisse vorherzusagen, oder wir nennen es Zeitreihenanalyse. Sehen wir uns einige nützliche Befehle an:

  • Um auf die DateTime-Daten zuzugreifen, konvertieren Sie den aktuellen Datentyp (Datumswerte werden als Zeichenfolge oder Objekt analysiert) mithilfe der Funktion pd.to_datetime() in DateTime.
  • Mit dem Accessor „.dt“ können wir jetzt auf alle erforderlichen DateTime-Informationen zugreifen, z.
    • df['column_name'].dt.day: Gibt den Tag des Datums zurück.
    • .dt.time: Zeit
    • .dt.year: Jahr des Datums
    • .dt.month: Monat des Datums
    • .dt.weekday: Ob Sonntag, Montag… in numerischer Form, wobei 0 für Montag steht. Wenn Sie Tagesnamen wünschen, verwenden Sie .dt.day_name
    • .dt.is_month_start: Gibt T/F zurück, abhängig davon, ob das Datum der Erste des Monats ist.
    • .dt.is_month_end Gleiche Funktionalität wie month_start, aber hier wird das letzte Datum des Monats überprüft.
    • .dt.quater: Gibt zurück, in welchem ​​Quartal das Datum liegt
    • .dt.is_quater_start: Gibt T/F zurück, ob das Datum der erste Tag des Quartals ist
    • .dt.is_quater_end: ob es der letzte Tag des Quartals ist
    • .dt.normalize: Wenn die Zeitkomponente keinen wertvollen Beitrag zur Analyse leistet, kann sie ignoriert werden. Dieser Befehl rundet die Uhrzeit auf Mitternacht ab, dh 00:00:00.

Pandas zeichnen

Das Plotten von Visualisierungen ist eine der Schlüsselkomponenten der Datenanalyse und spielt eine wichtige Rolle beim Feature Engineering. Beispielsweise können Ausreißer in einem Datensatz mithilfe von Boxplots erkannt werden, die den Median- und Interquartilbereich darstellen und Ausreißer an den äußersten Enden belassen.

Das Plotten erfolgt hauptsächlich über andere Bibliotheken wie Seaborn, Plotly, Bokeh, Matplotlib, aber wenn Sie Daten sofort visualisieren möchten, ohne die Bibliotheken explizit zu definieren? Pandas hat die Lösung. Mit der Funktion pd.plot() können Sie Diagramme direkt zeichnen, die intern mit matplotlib aufgerufen werden. Hierfür stehen verschiedene Optionen zur Verfügung:

  • df.plot() oder df['column_name'].plot() (je nach Art des Diagramms)
  • df.plot() hat den Parameter 'kind', der den Graphen definiert. Standardmäßig ist es ein 'Linien'-Diagramm, aber andere verfügbare Optionen sind 'bar', 'barh', 'box', 'hist', 'kde' usw.
  • Es ruft das Matplotlib-Backend auf, was bedeutet, dass wir über einen ‚ax‘-Accessor auf seine Argumente zugreifen können.
  • Die .plot()-Funktion kann auch Argumente wie „title“, „xticks“, „xlim“, „xlabel“, „fontsize“, „colormap“ entgegennehmen, wodurch die Notwendigkeit, externe Bibliotheken bis zu einem gewissen Grad zu definieren, entfällt.

Verschiedene Funktionen

  • pd.get_dummies(): Bei der Vorverarbeitung von Daten stoßen wir manchmal auf kategoriale Daten, die in numerische Form umgewandelt werden müssen, um sie dem Modell zuzuführen. Wenn diese Kategorien ziemlich niedrig sind, wird die One-Hot-Codierung bevorzugt, aber dies manuell zu tun dauert lange. Diese Dummies-Funktion transformiert nicht nur die Werte, sondern löscht, wenn drop_first auf True gesetzt ist, die vorherige Spalte, die alle Kategorien enthält.
  • df.query(): Dies ist die Funktion, mit der Sie die bedingte Maske auf den Datenrahmen anwenden können. Der grundlegende Unterschied zwischen dieser und der normalen Maskierung besteht darin, dass diese Funktion die Werte direkt anstelle der booleschen Maske zurückgibt, wodurch der Aufwand für die Erstellung der Maske und deren Anwendung auf den Datenrahmen reduziert wird.
  • df.select_dtypes(): Manchmal müssen wir bestimmte Aufgaben für einen Datentyp ausführen. Beim Lesen von Daten aus externen Dateien werden beispielsweise einige Datentypen als Objekte definiert. Beim Bereinigen der Daten muss der Datensatz alle korrekten Datentypen haben, und es wäre mühsam, dies manuell mit df.astype('data-type') zu tun, wenn die Anzahl solcher Datentypen groß ist. Diese Funktion wählt den angegebenen Datentyp aus und kann mit der Funktion .apply() kombiniert werden. Ein Beispielcode würde so aussehen:

df.select_dtypes(object).apply(astype(str))

Muss gelesen werden: Pandas-Interviewfragen

Fazit

Diese Zuweisung wird als Verkettung bezeichnet und ist bei Data-Science-Aufgaben sehr verbreitet, um den Aufwand für die Definition von Variablen für jeden auszuführenden Schritt zu reduzieren.

Wenn Sie neugierig sind, mehr über Pandas zu erfahren, sehen Sie sich das PG Diploma in Data Science von IIIT-B & upGrad an, das für Berufstätige entwickelt wurde und mehr als 10 Fallstudien und Projekte, praktische Workshops, Mentoring mit Branchenexperten und 1-on bietet -1 mit Branchenmentoren, mehr als 400 Stunden Lern- und Arbeitsunterstützung bei Top-Unternehmen.