Pandas: so filtern sie zeilen basierend auf der zeichenfolgenlänge
Mit den folgenden Methoden können Sie Zeilen filtern, die eine Zeichenfolge einer bestimmten Länge in einem Pandas-DataFrame enthalten:
Methode 1: Zeilen basierend auf der Zeichenfolgenlänge in einer Spalte filtern
#filter rows where col1 has a string length of 5 df. loc [df[' col1 ']. str . len () == 5 ]
Methode 2: Zeilen basierend auf der Zeichenfolgenlänge mehrerer Spalten filtern
#filter rows where col1 has string length of 5 and col2 has string length of 7 df. loc [(df[' col1 ']. str . len () == 5 ) & (df[' col2 ']. str . len () == 7 )]
Die folgenden Beispiele zeigen, wie jede Methode in der Praxis mit dem folgenden Pandas DataFrame verwendet wird:
import pandas as pd #createDataFrame df = pd. DataFrame ({' conf ': ['East', 'East', 'North', 'West', 'North', 'South'], ' pos ': ['Guard', 'Guard', 'Forward', 'Center', 'Center', 'Forward'], ' points ': [5, 7, 7, 9, 12, 9]}) #view DataFrame print (df) conf pos points 0 East Guard 5 1 East Guard 7 2 North Forward 7 3 West Center 9 4 North Center 12 5 South Forward 9
Beispiel 1: Zeilen basierend auf der Zeichenfolgenlänge in einer Spalte filtern
Der folgende Code zeigt, wie Zeilen aus dem DataFrame gefiltert werden, die in der Spalte „conf“ eine Zeichenfolgenlänge von 5 haben:
#filter rows where conf has a string length of 5 df. loc [df[' conf ']. str . len () == 5 ] conf pos points 2 North Forward 7 4 North Center 12 5 South Forward 9
Es werden nur Zeilen zurückgegeben, in denen die Spalte „conf“ eine Zeichenfolgenlänge von 5 hat.
Wir können sehen, dass zwei verschiedene Zeichenfolgen dieses Kriterium in der Spalte „conf“ erfüllen:
- „Norden“
- „Süd“
Beide Saiten haben eine Länge von 5 .
Beispiel 2: Zeilen basierend auf der Zeichenfolgenlänge mehrerer Spalten filtern
Der folgende Code zeigt, wie Zeilen aus dem DataFrame gefiltert werden, die eine Zeichenfolgenlänge von 5 in der Spalte „conf “ und eine Zeichenfolgenlänge von 7 in der Spalte „pos“ haben:
#filter rows where conf has string length of 5 and pos has string length of 7 df. loc [(df[' conf ']. str . len () == 5 ) & (df[' pos ']. str . len () == 7 )] conf pos points 2 North Forward 7 5 South Forward 9
Es werden nur Zeilen zurückgegeben, in denen die Spalte „conf“ eine Zeichenfolgenlänge von 5 und die Spalte „ pos “ eine Kraftlänge von 7 hat.
Hinweis : Die vollständige Dokumentation der Funktion str.len() in Pandas finden Sie hier .
Zusätzliche Ressourcen
In den folgenden Tutorials wird erläutert, wie andere gängige Vorgänge in Pandas ausgeführt werden:
So löschen Sie Zeilen in Pandas DataFrame basierend auf der Bedingung
So filtern Sie einen Pandas DataFrame nach mehreren Bedingungen
So verwenden Sie den „NOT IN“-Filter in Pandas DataFrame