Filtre Pandas par index

Filtre Pandas par index

À l'aide de «filter ()», nous pouvons filtrer un dataframe en fonction des index. Avec cette technique, les lignes ou les colonnes de DataFrame seront un sous-ensemble du DataFrame d'origine en fonction des étiquettes spécifiées dans l'index donné.

Il existe différentes méthodes pour filtrer les lignes du dataframe en fonction de leur index. Mais dans ce tutoriel, notre objectif principal est la fonction filtre (). Vérifions d'abord sa syntaxe afin que nous puissions l'utiliser pour filtrer les données. La méthode renvoie un objet du même type que celui qui est utilisé comme entrée.

Syntaxe:

Dataframe_object.filtre (éléments = aucun, comme = aucun, regex = aucun, axe = aucun)

Paramètres:

    1. articles: Il nécessite une liste des étiquettes de l'axe que vous souhaitez filtrer.
    2. comme: Gardez l'axe d'information où «Arg dans col == true». L'étiquette de chaîne d'axe que nous voulons filtrer est prise.
    3. Regex: Gardez l'axe d'informations où re.recherche (regex, col) == true.
    4. axe: L'axe sur lequel filtrer le 'index' ou 0, 'colonnes' ou 1, aucun. Par défaut, c'est l'axe d'informations. Pour les séries, c'est «Index». Pour DataFrame, ce sont des «colonnes».

Depuis que nous avons vu la syntaxe, nous démontrons la fonction filtre () dans les exemples suivants:

Exemple 1: filtre par index numérique

Créez le dateframe avec 2 colonnes qui contient 5 enregistrements et renvoyez uniquement les lignes particulières en fonction de l'index.

importer des pandas
Hobbies = pandas.DataFrame ('Stud_name': ['Stud 1', 'Stud 2', 'Stud 3', 'Stud 4', 'Stud 5'],
«Hobbies»: [«musique», «chant», «danse», «jeu», «boisson»])
Impression (passe-temps)
imprimer()
# Obtenez uniquement la première ligne
Imprimer (passe-temps.filtre ([0], axe = 0))
imprimer()
# Obtenez seulement la cinquième rangée
Imprimer (passe-temps.filtre ([4], axe = 0))


Sortir:

hobbies de name
0 Stud 1 Musique
1 Stud 2 chant
2 Stud 3 Dance
3 Stud 4 Play
4 goujon 5 boisson
hobbies de name
0 Stud 1 Musique
hobbies de name
4 goujon 5 boisson


Explication:

    1. Dans la première sortie, nous avons retourné la première ligne en utilisant l'index-0.
    2. Dans la deuxième sortie, nous avons retourné la cinquième ligne en utilisant l'index-4.

Exemple 2: Filtre par plusieurs indices numériques

Créez le dateframe avec 2 colonnes qui contient 5 enregistrements et renvoyez uniquement les lignes particulières en fonction de l'index à la fois.

importer des pandas
Hobbies = pandas.DataFrame ('Stud_name': ['Stud 1', 'Stud 2', 'Stud 3', 'Stud 4', 'Stud 5'],
«Hobbies»: [«musique», «chant», «danse», «jeu», «boisson»])
# Obtenez les deux premières lignes
Imprimer (passe-temps.filtre (éléments = [0,1], axe = 0))
imprimer()
# Obtenez seulement les deuxième, troisième et cinquième rangées
Imprimer (passe-temps.filtre (éléments = [1,2,4], axe = 0))


Sortir:

hobbies de name
0 Stud 1 Musique
1 Stud 2 chant
hobbies de name
1 Stud 2 chant
2 Stud 3 Dance
4 goujon 5 boisson


Explication:

    1. Dans la première sortie, nous avons renvoyé les première et deuxième lignes à la fois en utilisant l'index-0 et 1.
    2. Dans la deuxième sortie, nous avons retourné les deuxième, troisième et cinquième lignes en utilisant Index-1, 2 et 4.

Exemple 3: Filtre par index non numérique

Créez le dateframe avec 3 colonnes qui contient 4 enregistrements et renvoyez uniquement les lignes particulières en fonction de l'index. Ici, l'indice est de «.String ”Type.

importer des pandas
Journey = Pandas.DataFrame ('From': ['City 1', 'City 1', 'City 3', 'City 4'],
'To': ['ap', 'USA', 'City 2', 'City 1'],
'Distance': [200 500 466,100],
index = ['passager 1', 'passager 2', 'passager 3', 'passager 4']))
Imprimer (Journey)
imprimer()
# Obtenez la ligne où index-'passenger 3 '.
Imprimer (voyage.filtre (éléments = ['passager 3'], axe = 0))
imprimer()
# Obtenez la ligne où index-'passenger 1 '.
Imprimer (voyage.filtre (éléments = ['passager 1'], axe = 0))


Sortir:

De loin
Passenger 1 Ville 1 AP 200
Passenger 2 City 1 USA 500
Passenger 3 Ville 3 Ville 2 466
Passenger 4 Ville 4 Ville 1 100
De loin
Passenger 3 Ville 3 Ville 2 466
De loin
Passenger 1 Ville 1 AP 200


Explication:

    1. Dans la première sortie, nous avons retourné la troisième ligne en utilisant l'index - «Passenger 3».
    2. Dans la deuxième sortie, nous avons retourné la première ligne en utilisant l'index - «Passenger 1».

Exemple 4: Filtrez par plusieurs indices non numériques

Renvoyez les trois dernières lignes à la fois en fonction de l'index.

importer des pandas
Journey = Pandas.DataFrame ('From': ['City 1', 'City 1', 'City 3', 'City 4'],
'To': ['ap', 'USA', 'City 2', 'City 1'],
'Distance': [200 500 466,100],
index = ['passager 1', 'passager 2', 'passager 3', 'passager 4']))
# Obtenez la ligne où l'index- «Passenger 2», «Passenger 3», «Passenger 4»
Imprimer (voyage.Filtre (articles = [«Passenger 2», «Passenger 3», «Passenger 4»], axe = 0))


Sortir:

De loin
Passenger 2 City 1 USA 500
Passenger 3 Ville 3 Ville 2 466
Passenger 4 Ville 4 Ville 1 100

Exemple 5: Filtre en utilisant le paramètre similaire

Utilisons le paramètre «like» pour retourner les lignes en fonction de l'index comme - «passager» et «r 1», séparément.

importer des pandas
Journey = Pandas.DataFrame ('From': ['City 1', 'City 1', 'City 3', 'City 4'],
'To': ['ap', 'USA', 'City 2', 'City 1'],
'Distance': [200 500 466,100],
index = ['passager 1', 'passager 2', 'passager 3', 'passager 4']))
# Obtenez la ligne où l'index est comme «passager».
Imprimer (voyage.filtre (comme = 'passager', axe = 0))
imprimer()
# Obtenez la ligne où l'index est comme «R 1».
Imprimer (voyage.filtre (comme = 'r 1', axe = 0))


Sortir:

De loin
Passenger 1 Ville 1 AP 200
Passenger 2 City 1 USA 500
Passenger 3 Ville 3 Ville 2 466
Passenger 4 Ville 4 Ville 1 100
De loin
Passenger 1 Ville 1 AP 200


Explication:

    1. Tous les indices contiennent du «passager». Ainsi, toutes les lignes ont été renvoyées dans la première sortie.
    2. Un seul index est comme «R 1». Ainsi, la ligne avec index - «Passenger 1» est renvoyée dans la deuxième sortie.

Exemple 6:

Considérons le dataframe avec les indices - [«sravan», «ravan», «pavan», «ravi»], puis renvoyez les lignes avec des index comme «n» et «m» séparément séparément.

importer des pandas
Journey = Pandas.DataFrame ('From': ['City 1', 'City 1', 'City 3', 'City 4'],
'To': ['ap', 'USA', 'City 2', 'City 1'],
'Distance': [200 500 466,100],
index = [«sravan», «ravan», «pavan», «ravi»])
# Obtenez la ligne où l'index est comme 'n'.
Imprimer (voyage.filtre (comme = 'n', axe = 0))
imprimer()
# Obtenez la ligne où l'index est comme «M».
Imprimer (voyage.filtre (comme = 'm', axe = 0))


Sortir:

De loin
Sravan City 1 AP 200
Ravan City 1 USA 500
Pavan City 3 City 2 466
Dataframe vide
Colonnes: [de, à, distance]
Index: []


Explication:

    1. Il y a trois lignes où l'index comprend «n».
    2. Il n'y a pas de ligne où les index incluent «M». Ainsi, le framage de données vide est renvoyé.

Conclusion

Nous vous avons appris à récupérer les lignes DataFrame en fonction de leurs index dans Pandas. Nous avons d'abord vu la syntaxe de la fonction filtre () pour comprendre ses paramètres et le fonctionnement de la fonction de filtre. Nous avons mis en œuvre les différents exemples pour vous apprendre à filtrer une dataframe en utilisant les index des valeurs numériques et des valeurs non numériques. Nous avons également mis en œuvre quelques exemples pour expliquer comment vous pouvez filtrer un dataframe pour les index qui contiennent un caractère ou une chaîne particulière en passant le paramètre similaire à la fonction filtre ().