Top 5 Pandas-Funktionen, die für Data Scientists unerlässlich sind [2022]
Veröffentlicht: 2021-01-02Pandas ist eindeutig eine der am häufigsten verwendeten und beliebtesten Bibliotheken, wenn es um Data Science und Datenanalyse mit Python geht. Was macht es besonders? In diesem Tutorial gehen wir auf 5 solcher Funktionen ein, die Pandas zu einem äußerst nützlichen Werkzeug im Toolkit eines Datenwissenschaftlers machen.
Am Ende dieses Tutorials kennen Sie die folgenden Funktionen in Pandas und wissen, wie Sie sie für Ihre Anwendungen verwenden:
- value_counts
- gruppiere nach
- loc und iloc
- einzigartig und nunique
- Ausschneiden und ausschneiden
Inhaltsverzeichnis
Top-Pandas-Funktionen für Data Scientists
1. value_counts()
Die Funktion value_counts() von Pandas wird verwendet, um die Anzahl aller eindeutigen Elemente in Spalten eines Datenrahmens anzuzeigen.
Profi-Tipp: Zur Demonstration verwende ich das Titanic-Dataset.
Um nun die Anzahl der Klassen im Emmarked-Feature zu ermitteln, können wir die Funktion value_counts aufrufen:
train[ 'Eingeschifft' ].value_counts() |
#Ausgabe: S644 _ C 168 Frage 77 |
Wenn diese Zahlen nicht viel Sinn machen, können Sie stattdessen ihre Prozentsätze anzeigen:
train[ 'Eingeschifft' ].value_counts(normalize= True ) |
#Ausgabe: S 0,724409 C 0,188976 Q 0,086614 |
Darüber hinaus berücksichtigt value_counts standardmäßig nicht die NaN oder die fehlenden Werte, was sehr wichtig zu überprüfen ist. Dazu können Sie den Parameter dropna auf false setzen.
train[ 'Eingeschifft' ].value_counts(dropna= False ) |
#Ausgabe: S644 _ C 168 Frage 77 NaN 2 |
2. group_by()
Mit Pandas group_by können wir unseren Datenrahmen nach bestimmten Spalten aufteilen und gruppieren, um Muster und Details in den Daten anzeigen zu können. Group_by umfasst 3 Hauptschritte: Teilen, Anwenden und Kombinieren.
train.groupby( 'Sex' ).mean() |
Ausgabe:
Wie Sie sehen, haben wir den Datenrahmen nach dem Merkmal „Geschlecht“ gruppiert und mithilfe der Mittel aggregiert.
Sie können es auch mit der integrierten Visualisierung von Pandas darstellen:
df.groupby( 'Sex' ).sum().plot(kind= 'bar' ) |
Wir können auch gruppieren, indem wir mehrere Merkmale für eine hierarchische Aufteilung verwenden.
df.groupby([ 'Sex' , 'Überlebt' ] )[ 'Überlebt' ].count() |
Muss gelesen werden: Pandas-Interviewfragen
3. loc und iloc
Die Indizierung in Pandas ist eine der grundlegendsten Operationen und der beste Weg, dies zu tun, ist die Verwendung von entweder loc oder iloc. „Loc“ steht für Standort und das „i“ steht für indexierten Standort. Mit anderen Worten, wenn Sie einen Datenrahmen mithilfe von Namen oder Bezeichnungen von Spalten/Zeilen indizieren möchten, verwenden Sie loc. Und wenn Sie Spalten oder Zeilen mit den Positionen indizieren möchten, verwenden Sie die iloc-Funktion. Schauen wir uns zuerst loc an .
train.loc[ 2 , 'sex' ] |
Die obige Operation gibt uns das Element des Zeilenindex 2 und der Spalte „Geschlecht“. Wenn Sie alle Werte der Geschlechtsspalte benötigt hätten, würden Sie Folgendes tun:
train.loc[:, 'sex' ] |
Außerdem können Sie mehrere Spalten herausfiltern wie:
train.loc[:, 'sex' , 'Eingeschifft' ] |
Sie können auch mithilfe von booleschen Bedingungen innerhalb der Lok herausfiltern, wie zum Beispiel:
zug.ort[zug.alter >= 25 ] |
Um nur bestimmte Zeilen anzuzeigen, können Sie den Datenrahmen mit loc aufteilen:
train.loc[ 100 : 200 ] |
Darüber hinaus können Sie den Datenrahmen auf der Spaltenachse wie folgt aufteilen:
train.loc[:, 'sex' : 'fare' ] |
Die obige Operation wird den Datenrahmen für alle Zeilen von der Spalte „Geschlecht“ bis „Fahrpreis“ aufteilen.
Kommen wir nun zu iloc. iloc indiziert nur über Indexnummern oder die Positionen. Sie können Datenrahmen wie folgt aufteilen:
train.iloc[ 100 : 200 , 2 : 9 ] |
Die obigen Operationen schneiden die Zeilen von 100 bis 199 und die Spalten 2 bis 8. Wenn Sie Ihre Daten horizontal aufteilen möchten, können Sie Folgendes tun:
train.iloc[: 300 , :] |
4. unique() und nunique()
Pandas Unique wird verwendet, um alle einzigartigen Werte von jedem Feature zu erhalten. Dies wird hauptsächlich verwendet, um die Kategorien in kategorischen Merkmalen in den Daten zu erhalten. Eindeutig zeigt alle eindeutigen Werte einschließlich NaNs. Es behandelt es als einen anderen eindeutigen Wert. Lass uns einen Blick darauf werfen:
train[ 'sex' ].unique() |
#Ausgabe: [ 'weiblich' , 'männlich' ] |
Wie wir sehen, gibt es uns die einzigartigen Werte im Merkmal „Geschlecht“.
In ähnlicher Weise können Sie auch die Anzahl der eindeutigen Werte überprüfen, da es in einigen Funktionen viele eindeutige Werte geben kann.
train[ 'sex' ].nunique() |

#Ausgabe: 2 |
Beachten Sie jedoch, dass nunique() NaNs nicht als eindeutige Werte betrachtet. Wenn Ihre Daten NaNs enthalten, müssen Sie den Parameter dropna als False übergeben, um sicherzustellen, dass Pandas Ihnen die Anzahl einschließlich der NaNs mitteilt.
train[ 'sex' ].nunique(dropna= False ) |
#Ausgabe: 3 |
5. cut() und qcut()
Pandas Cut wird verwendet, um Werte in Bereiche einzuteilen, um die Merkmale zu diskretisieren. Tauchen wir ein. Klassierung bedeutet das Konvertieren eines numerischen oder kontinuierlichen Merkmals in einen diskreten Satz von Werten, basierend auf den Bereichen der kontinuierlichen Werte. Dies ist praktisch, wenn Sie die Trends basierend auf dem Bereich sehen möchten, in den der Datenpunkt fällt.
Lassen Sie uns dies anhand eines kleinen Beispiels verstehen.
Angenommen, wir haben Noten für 7 Kinder im Bereich von 0-100. Jetzt können wir die Noten jedes Kindes einem bestimmten „Mülleimer“ zuweisen.
df = pd.Datenrahmen (Daten = { 'Name' : [ 'Ck' , 'Ron' , 'Mat' , 'Josh' , 'Tim' , 'SypherPK' , 'Dew' , 'Vin' ], 'Marken' :[ 37 , 91 , 66 , 42 , 99 , 81 , 45, 71 ] }) df[ 'marks_bin' ] = pd.cut(df[ 'Marks' ], bins=[ 0 , 50 , 70 , 100 ], labels=[ 1 , 2 , 3 ]) |
Dann können wir die Ausgabe einfach als neues Feature anhängen, und das Marks-Feature kann gelöscht werden. Der neue Datenrahmen sieht in etwa so aus:
#Ausgabe: Namensmarken markers_bin 0 Ck 37 1 1 Ron 91 3 2 Mat 66 2 3 Josch 42 1 4 Timo 99 3 5 SypherPK 81 3 6 Tau 45 1 7 Wein 71 3 |
Wenn ich also bins = [ 0 , 50 , 70 , 100 ] sage , bedeutet das, dass es 3 Bereiche gibt:
0 bis 50 für Fach 1,
51 bis 70 für Behälter 2 und
71 bis 100 gehören zu Behälter 3.
Jetzt enthält unsere Funktion also nicht die Noten, sondern den Bereich oder die Klasse, zu der die Noten für diesen Schüler gehören.
Ähnlich wie cut() bietet Pandas auch seine Bruderfunktion namens qcut() an . Pandas qcut nimmt die Anzahl der Quantile auf und teilt die Datenpunkte basierend auf der Datenverteilung auf jeden Bin auf. Wir können also einfach die Schnittfunktion oben in qcut ändern:
df[ 'marks_bin' ] = pd.qcut(df[ 'Marks' ], q= 3 , labels=[ 1 , 2 , 3 ]) |
In der obigen Operation weisen wir Pandas an, das Feature in 3 gleiche Teile zu schneiden und ihnen die Labels zuzuweisen. Die Ausgabe kommt als:
Namensmarken markers_bin 0 Ck 37 1 1 Ron 91 3 2 Mat 66 2 3 Josch 42 1 4 Timo 99 3 5 SypherPK 81 3 6 Tau 45 1 7 Wein 71 2 |
Beachten Sie, wie sich der letzte Wert von 3 auf 2 geändert hat.
Lesen Sie auch: Pandas Dataframe Astype
Bevor du gehst
Wir haben einige der am häufigsten verwendeten Pandas-Funktionen gesehen. Aber das sind nicht die einzigen, die wichtig sind, und wir möchten Sie ermutigen, mehr über die am häufigsten verwendeten Funktionen von Panda zu erfahren. Dies ist ein guter und effizienter Ansatz, da Sie möglicherweise nicht alle Funktionen von Pandas verwenden, sondern nur einige davon.
Lernen Sie Datenwissenschaftskurse von den besten Universitäten der Welt. Verdienen Sie Executive PG-Programme, Advanced Certificate-Programme oder Master-Programme, um Ihre Karriere zu beschleunigen.
Warum ist die Pandas-Bibliothek so beliebt?
Diese Bibliothek ist in der Tat bei Datenwissenschaftlern und Datenanalysten sehr beliebt. Der Grund dafür ist die großartige Unterstützung einer großen Anzahl von Dateiformaten und eine reichhaltige Sammlung von Funktionen zur Bearbeitung der extrahierten Daten. Es kann problemlos in andere Bibliotheken und Pakete wie NumPy integriert werden.
Diese leistungsstarke Bibliothek bietet verschiedene nützliche Funktionen zur flexiblen Bearbeitung großer Datenmengen. Wenn Sie es einmal beherrschen, können Sie mit ein paar Zeilen Code ganz einfach großartige Aufgaben erledigen.
Was ist die Zusammenführungsfunktion und warum wird sie verwendet?
Die Zusammenführungsfunktion ist eine spezielle Funktion von Pandas Datenrahmen, die verwendet wird, um mehrere Zeilen oder Spalten von 2 Datenrahmen zusammenzuführen. Es handelt sich um eine Verknüpfungsoperation mit hohem Arbeitsspeicher, die relationalen Datenbanken ähnelt. Sie können on = Spaltenname verwenden, um Datenrahmen in der gemeinsamen Spalte zusammenzuführen.
Sie können left_on = Column Name oder right_on = Column Name aktualisieren, um Tabellen mit Spalten aus dem linken oder rechten Datenrahmen als Schlüssel auszurichten.
Abgesehen von der Pandas-Bibliothek, was sind die anderen Python-Bibliotheken für die Datenwissenschaft?
Abgesehen von der Pandas-Bibliothek gibt es eine Reihe von Python-Bibliotheken, die als einige der besten Bibliotheken für Data Science gelten. Dazu gehören PySpark, TensorFlow, Matplotlib, Scikit Learn, SciPy und viele mehr. Jeder von ihnen wird wegen seiner einzigartigen und erstaunlichen Eigenschaften und Funktionen häufig verwendet.
Jede Bibliothek hat ihre eigene Bedeutung, da SciKit Learn häufiger verwendet wird, wenn Sie mit statistischen Daten umgehen müssen. Neben der Analyse der Daten können Sie mit den Funktionen dieser erstaunlichen Bibliotheken auch Dashboards und visuelle Berichte erstellen.