Obtenez toutes les lignes dans un pandas dataframe contenant une sous-chaîne donnée

Obtenez toutes les lignes dans un pandas dataframe contenant une sous-chaîne donnée

Cet article illustrera comment obtenir toutes les lignes dans un pandas dataframe qui contient une sous-chaîne donnée.

Exemple de dataframe

Dans cet exemple, nous utiliserons un exemple de dataframe fourni dans le lien ci-dessous:

1
Ensemble de données de films.CSV

Une fois téléchargé, chargez le dataframe comme indiqué;

1
df = pd.read_csv ('films.csv ')

Vérifiez si la colonne contient

Identifiez les lignes qui contiennent une sous-chaîne spécifique. Pour cela, nous utiliserons la fonction CONTAINS () dans Pandas.

Par exemple, pour vérifier si un titre contient la chaîne «capitaine» dans le dataframe fourni, nous pouvons effectuer ce qui suit:

1
print (df ['title'].Str.contient («capitaine»))

Le code ci-dessus doit vérifier si toutes les lignes contiennent la sous-chaîne spécifiée et renvoie les valeurs booléennes correspondantes.

Pour les lignes correspondantes, la fonction doit retourner vrai et false si autrement.

Retrouver des lignes qui correspondent.

Bien que l'exemple ci-dessus fonctionne, il ne renvoie pas la ligne et ses valeurs. Nous pouvons le développer en utilisant leurs valeurs comme indices pour le dataframe.

Un exemple est comme indiqué:

1
print (df [df ['title'].Str.contient ('capitaine')])

La fonction doit renvoyer les lignes correspondantes et leurs valeurs correspondantes dans ce cas.

Vérifiez plusieurs conditions.

Nous pouvons filtrer davantage les résultats en vérifiant si les lignes contiennent «capitaine» et «Amérique.'

Prenez l'exemple de code indiqué ci-dessous:

1
2
new_df = df [df ['title'].Str.contient ('Captain') & df ['title'].Str.Contient («Amérique»)]
new_df

Nous utilisons l'opérateur pour combiner deux conditions booléennes dans cet exemple.

Le dataframe résultant est comme indiqué:

Vous pouvez également vérifier si une ligne contient «Capitaine» ou «Amérique».

1
2
new_df = df [df ['title'].Str.Contient ('Captain') | df ['title'].Str.Contient («Amérique»)]
new_df

Cela devrait renvoyer un titre contenant la chaîne «Capitaine» ou «Amérique». Les données résultantes sont comme indiquées:

Conclusion

Dans cet article, nous avons discuté de la vérification si une ligne contient une sous-chaîne au sein d'un Pandas DataFrame. Nous avons également couvert comment obtenir les lignes qui correspondent à une sous-chaîne spécifique.