Oft sind Sie daran interessiert, alle eindeutigen Werte in mehreren Spalten eines Pandas DataFrame zu finden. Glücklicherweise ist dies mit der Funktion Pandas unique() in Kombination mit der Funktion ravel …
Oft möchten Sie möglicherweise die Zeilennummern in einem Pandas-DataFrame abrufen, die einen bestimmten Wert enthalten. Praktischerweise ist dies mit der .index-Funktion einfach zu bewerkstelligen. Dieses Tutorial zeigt einige Beispiele für die praktische Verwendung dieser Funktion.
Beispiel 1: Abrufen von Zeilennummern, die einem bestimmten Wert entsprechen
Angenommen, wir haben die folgenden Pandas DataFrame:
import pandas as pd
# Dataframe erstellen
df = pd.DataFrame({'points': [25, 12, 15, 14, 19],
'assists': [5, 7, 7, 9, 12],
'team': ['Mavs', 'Mavs', 'Spurs', 'Celtics', 'Warriors']})
# Dataframe anzeigen
print(df)
points assists team
0 25 5 Mavs
1 12 7 Mavs
2 15 7 Spurs
3 14 9 Celtics
4 19 12 Warriors
Wir können die folgende Syntax verwenden, um die Zeilennummern zu erhalten, bei denen 'team' gleich Mavs ist:
# Zeilennummern, bei denen 'team' gleich 'Mavs' ist auslesen
df[df['team'] == 'Mavs'].index
Int64Index([0, 1], dtype='int64')
Wir können sehen, dass der Teamname bei den Zeilenindizes 0 und 1 gleich 'Mavs' ist.
Wir können auch die Zeilennummern abrufen, bei denen sich der Teamname in einer bestimmten Liste von Teamnamen befindet:
# Zeilennummern, bei denen 'team' gleich 'Mavs' oder 'Spurs' ist auslesen
filter_list = ['Mavs', 'Spurs']
# Nur Zeilen zurückgeben, in denen sich das Team in der Liste der Teamnamen befindet
df[df.team.isin(filter_list)].index
Int64Index([0, 1, 2], dtype='int64')
Wir können sehen, dass der Teamname bei den Zeilenindizes 0, 1 und 2 gleich "Mavs" oder "Spurs" ist.
Beispiel 2: Holen Sie sich eine einzelne Zeilennummer
Angenommen, wir haben die folgenden Pandas DataFrame:
import pandas as pd
# Dataframe erstellen
df = pd.DataFrame({'points': [25, 12, 15, 14, 19],
'assists': [5, 7, 7, 9, 12],
'team': ['Mavs', 'Mavs', 'Spurs', 'Celtics', 'Warriors']})
Wenn Sie wissen, dass nur eine Zeile einem bestimmten Wert entspricht, können Sie diese einzelne Zeilennummer mithilfe der folgenden Syntax abrufen:
# Geben Sie die Zeilennummer, in der das Team Celtics entspricht
df[df['team'] == 'Celtics'].index[0]
3
Wir können sehen, dass das Team bei Zeilenindex Nummer 3 gleich 'Celtics' ist.
Beispiel 3: Summe der Zeilennummern abrufen
Angenommen, wir haben die folgenden Pandas DataFrame:
import pandas as pd
# Dataframe erstellen
df = pd.DataFrame({'points': [25, 12, 15, 14, 19],
'assists': [5, 7, 7, 9, 12],
'team': ['Mavs', 'Mavs', 'Spurs', 'Celtics', 'Warriors']})
Wenn Sie die Gesamtzahl der Zeilen wissen möchten, in denen eine Spalte einem bestimmten Wert entspricht, können Sie die folgende Syntax verwenden:
#findet die Gesamtzahl der Zeilen, in denen das Team gleich Mavs ist
len(df[df['team'] == 'Celtics'].index)
2
Wir können sehen, dass das Team in insgesamt 2 Reihen gleich 'Mavs' ist.
Zusätzliche Ressourcen
So finden Sie eindeutige Werte in mehreren Spalten in Pandas
So zählen Sie fehlende Werte in einem Pandas DataFrame
So finden Sie eindeutige Werte in mehreren Spalten in Pandas
So filtern Sie Pandas DataFrame-Zeilen nach Datum
Oft möchten Sie die Zeilen eines Pandas DataFrame nach Datum filtern. Praktischerweise ist dies ziemlich einfach und in diesem Tutorial werden je nach Struktur Ihres DataFrame zwei Möglichkeiten erläutert.