Filtrer un sous-ensemble de données par position sans conditions logiques
Fonctions :
-
Filtrage par position sans conditions logiques
Lorsqu'il s'agit de filtrer un sous-ensemble de données dans un DataFrame sans utiliser de conditions logiques, vous pouvez simplement utiliser des indices positionnels pour sélectionner les lignes et les colonnes souhaitées. Cela vous permet de découper facilement le DataFrame en fonction de la position des éléments, sans avoir à appliquer des filtres basés sur les valeurs des données.
Importation :
import pandas as pd
Attributs :
Paramètre Description row_position
Position (index) des lignes à sélectionner. Peut être une valeur unique, une liste d'indices ou une tranche. column_position
Position (index) des colonnes à sélectionner. Peut être une valeur unique, une liste d'indices ou une tranche. Exemple de code :
import pandas as pd # Exemple de DataFrame data = { 'nom': ['Alice', 'Bob', 'Charlie', 'David'], 'âge': [24, 30, 35, 40], 'score': [88, 92, 75, 85], 'ville': ['Paris', 'Lyon', 'Marseille', 'Paris'] } df = pd.DataFrame(data) # Filtrer un sous-ensemble sans conditions logiques : lignes 1 à 3 et colonnes 0 et 2 resultat_1 = df.iloc[1:4, [0, 2]] # Sélectionne les lignes 1 à 3 et les colonnes 0 et 2 print("Sous-ensemble des lignes 1 à 3 et des colonnes 0 et 2 :") print(resultat_1) # Filtrer un sous-ensemble avec une tranche de lignes et toutes les colonnes resultat_2 = df.iloc[0:2, :] # Sélectionne les lignes 0 à 1 et toutes les colonnes print("\nSous-ensemble des lignes 0 à 1 et de toutes les colonnes :") print(resultat_2) # Filtrer un sous-ensemble avec toutes les lignes et une tranche de colonnes resultat_3 = df.iloc[:, 1:3] # Sélectionne toutes les lignes et les colonnes 1 à 2 print("\nSous-ensemble de toutes les lignes et des colonnes 1 à 2 :") print(resultat_3)
Explication du code :
- DataFrame : Un DataFrame est créé avec des données fictives comprenant les colonnes
nom
,âge
,score
etville
. - Filtrage d'un sous-ensemble avec
iloc[]
: Dans la première opération,iloc[1:4, [0, 2]]
est utilisé pour sélectionner les lignes 1 à 3 (indice 1 à 3) et les colonnes 0 et 2, qui correspondent aux colonnesnom
etscore
. - Filtrage d'un sous-ensemble de lignes et toutes les colonnes : La deuxième opération utilise
iloc[0:2, :]
pour sélectionner les lignes 0 et 1, mais toutes les colonnes du DataFrame. - Filtrage d'un sous-ensemble de toutes les lignes et de certaines colonnes : La troisième opération sélectionne toutes les lignes et les colonnes de 1 à 2 (indice 1 à 2), ce qui permet d'accéder à la colonne
âge
etscore
.
Remarque :
- Slicing (tranchage) : Vous pouvez utiliser des tranches pour sélectionner des sous-ensembles de données. L'utilisation de
iloc[]
avec une tranche (1:4
) permet de sélectionner des lignes à partir de leurs indices positionnels. - Sélection des colonnes : Il est également possible de sélectionner plusieurs colonnes en passant une liste d'indices de colonnes, comme
[0, 2]
dans cet exemple. Vous pouvez aussi utiliser le caractère:
pour inclure toutes les colonnes. - Accès par position sans conditions logiques : Cette méthode est purement basée sur la position des éléments dans le DataFrame, sans aucun filtrage conditionnel basé sur les valeurs des données.
- DataFrame : Un DataFrame est créé avec des données fictives comprenant les colonnes