Kurs
Oft enthält ein DataFrame Spalten, die für deine Analyse nicht nützlich sind. Solche Spalten sollten aus dem DataFrame entfernt werden, damit du dich besser auf die übrigen Spalten konzentrieren kannst.
Die Spalten können entfernt werden, indem du Label-Namen und die entsprechende Achse angibst oder indem du Index- oder Spaltennamen direkt angibst. Wenn du einen Multi-Index verwendest, können Beschriftungen auf verschiedenen Ebenen entfernt werden, indem du die Ebene angibst.
.drop() Methode
Vergleichen wir die Anzahl der fehlenden Werte mit der Form des DataFrames. Du wirst feststellen, dass die Spalte county_name genauso viele fehlende Werte wie Zeilen enthält, was bedeutet, dass sie nur fehlende Werte enthält.
ri.isnull().sum()
state 0
stop_date 0
stop_time 0
county_name 91741
driver_gender 5205
driver_race 5202
...
ri.shape
91741, 15
Da sie keine nützlichen Informationen enthält, kann diese Spalte mit der Methode .drop() gelöscht werden.
Neben der Angabe des Spaltennamens musst du angeben, dass du aus der Spaltenachse löschst und dass der Vorgang an Ort und Stelle stattfinden soll, wodurch eine Zuweisungsanweisung wie unten gezeigt vermieden wird:
ri.drop('county_name',
axis='columns', inplace=True)
.dropna() Methode
Die Methode .dropna() ist eine gute Möglichkeit, um Zeilen aufgrund fehlender Werte in dieser Zeile zu löschen.
Nehmen wir zum Beispiel an, dass die Spalten stop_date und stop_time für unsere Analyse entscheidend sind und dass eine Zeile ohne diese Daten für uns nutzlos ist.
ri.head()
state stop_date stop_time driver_gender driver_race
0 RI 2005-01-04 12:55 M White
1 RI 2005-01-23 23:15 M White
2 RI 2005-02-17 04:15 M White
3 RI 2005-02-20 17:15 M White
4 RI 2005-02-24 01:20 F White
Wir können Pandas anweisen, alle Zeilen zu löschen, in denen entweder in der Spalte stop_date oder stop_time ein Wert fehlt. Da wir eine Teilmenge angeben, berücksichtigt die Methode .dropna() nur diese beiden Spalten bei der Entscheidung, welche Zeilen weggelassen werden sollen.
ri.dropna(subset=['stop_date', 'stop_time'], inplace=True)
Interaktives Beispiel für das Fallenlassen von Spalten
In diesem Beispiel lässt du die Spalte county_name weg, weil sie nur fehlende Werte enthält, und die Spalte state, weil alle Verkehrskontrollen in einem Bundesstaat (Rhode Island) stattfanden. Diese Spalten können also weggelassen werden, weil sie keine nützlichen Informationen enthalten. Die Anzahl der fehlenden Werte in jeder Spalte wird für dich auf der Konsole ausgegeben.
- Untersuche die
.shapedes DataFrame, um die Anzahl der Zeilen und Spalten herauszufinden. - Lösche die beiden Spalten
county_nameundstate, indem du die Spaltennamen als Liste von Strings an die Methode.drop()übergibst. - Sieh dir die
.shapenoch einmal an, um zu sehen, dass es jetzt zwei Spalten weniger gibt.
# Examine the shape of the DataFrame
print(ri.shape)
# Drop the 'county_name' and 'state' columns
ri.drop(['county_name', 'state'], axis='columns', inplace=True)
# Examine the shape of the DataFrame (again)
print(ri.shape)
Wenn du den obigen Code ausführst, erhältst du das folgende Ergebnis:
(91741, 15)
(91741, 13)
Um mehr über das Fallenlassen von Spalten in Pandas zu erfahren, schau dir dieses Video aus unserem Kurs Einführung in die Datenvisualisierung mit ggplot2 an.
Dieser Inhalt stammt aus dem DataCamp-Kurs Einführung in die Datenvisualisierung mit ggplot2 von Kevin Markham.
Schau dir unser Pandas Add Column Tutorial an.
