Comment filtrer les lignes dans un DataFrame Pandas en fonction des valeurs de colonne

Python

Filtrage des lignes dans les DataFrames Pandas

Pandas est une puissante bibliothèque en Python pour la manipulation et l'analyse de données. Une tâche courante consiste à sélectionner des lignes d'un DataFrame en fonction des valeurs de colonne, similaire à la table SELECT * FROM de SQL WHERE column_name = some_value.

Ce guide vous guidera à travers différentes méthodes pour y parvenir dans Pandas, facilitant ainsi le filtrage efficace de vos données. Que vous soyez débutant ou utilisateur expérimenté, ces conseils amélioreront vos compétences en matière de traitement des données.

Commande Description
pd.DataFrame(data) Crée un DataFrame à partir d'un dictionnaire de données.
df[column_name] Accède à une colonne du DataFrame par son nom.
df[condition] Filtre le DataFrame en fonction d'une condition appliquée à une colonne.
print(selected_rows) Imprime le DataFrame ou un sous-ensemble de celui-ci sur la console.
df[df['Age'] >df[df['Age'] > 25] Sélectionne les lignes dans lesquelles les valeurs de la colonne « Âge » sont supérieures à 25.
df[df['City'] == 'Chicago'] Sélectionne les lignes dans lesquelles les valeurs de la colonne « Ville » sont égales à « Chicago ».

Comprendre la sélection de lignes DataFrame dans Pandas

Les scripts fournis montrent comment sélectionner des lignes d'un DataFrame en fonction des valeurs de colonne à l'aide de la bibliothèque Pandas en Python. Le premier script commence par importer la bibliothèque Pandas avec le commande. Il crée ensuite un exemple de DataFrame à l'aide d'un dictionnaire de données, qui est converti en DataFrame avec le commande. Le script illustre ensuite deux méthodes de sélection de lignes : sélectionner les lignes dont la valeur de la colonne "Âge" est supérieure à 25 à l'aide de , et en sélectionnant les lignes où la valeur de la colonne « Ville » est « Chicago » à l'aide de df[df['City'] == 'Chicago']. Ces DataFrames filtrés sont imprimés à l'aide du fonction pour afficher les lignes sélectionnées.

Le deuxième script suit une structure similaire mais utilise des données et des critères de sélection différents. Il crée un DataFrame avec des informations sur le produit, notamment les colonnes « Produit », « Prix » et « Stock ». Les lignes sont sélectionnées où le « Prix » est inférieur ou égal à 200 avec

Techniques avancées pour sélectionner des lignes DataFrame dans Pandas

Outre le filtrage de base utilisant l'indexation booléenne, Pandas propose des techniques avancées pour sélectionner des lignes en fonction des valeurs des colonnes. Une méthode puissante consiste à utiliser le fonction, qui vous permet de filtrer les lignes avec une expression de requête, rendant la syntaxe plus propre et souvent plus intuitive. Par exemple, au lieu d'utiliser , tu peux écrire . Cette méthode est particulièrement utile lorsqu'il s'agit de conditions plus complexes ou lorsque les noms de colonnes contiennent des espaces. De plus, le dix La fonction est utile lorsque vous souhaitez filtrer les lignes en fonction d'une liste de valeurs. Par exemple, pour sélectionner des lignes dans lesquelles la valeur de la colonne « Ville » est « Chicago » ou « New York », vous pouvez utiliser .

Une autre technique consiste à et indexeurs. Le L'indexeur est basé sur des étiquettes, vous permettant de sélectionner des lignes en fonction des étiquettes de lignes et des noms de colonnes, tandis que iloc est basé sur un emplacement entier, permettant la sélection par numéros de ligne et de colonne. Cette flexibilité est particulièrement utile pour sélectionner des lignes en fonction d'une condition appliquée à une autre colonne. Par exemple, renverra les noms des personnes âgées de plus de 25 ans. Ces méthodes élargissent votre boîte à outils pour gérer et analyser efficacement les données dans Pandas, offrant un code plus lisible et maintenable.

  1. Comment puis-je sélectionner des lignes en fonction de plusieurs conditions ?
  2. Vous pouvez utiliser le fonctionner ou combiner des conditions avec des opérateurs logiques comme et . Par exemple, df[(df['Age'] > 25) & (df['City'] == 'Chicago')].
  3. Puis-je filtrer les lignes en fonction d’une liste de valeurs ?
  4. Oui, utilisez le fonction. Par exemple, .
  5. Quelle est la différence entre et ?
  6. est basé sur des étiquettes, tandis que est basé sur un nombre entier. Utiliser avec des étiquettes de ligne/colonne et iloc avec des indices de ligne/colonne.
  7. Comment puis-je sélectionner des colonnes spécifiques lors du filtrage des lignes ?
  8. Vous pouvez utiliser . Par exemple, .
  9. Comment gérer les valeurs manquantes lors de la sélection des lignes ?
  10. Utilisez le fonction pour supprimer les lignes avec des valeurs manquantes, ou pour les remplacer par une valeur spécifiée.
  11. Puis-je utiliser des expressions régulières pour filtrer les lignes ?
  12. Oui le fonctionner avec le Le paramètre vous permet de filtrer les lignes en fonction de modèles d'expression régulière. Par exemple, .
  13. Comment filtrer les lignes en fonction de l'index ?
  14. Vous pouvez utiliser avec le nom de l'index. Par exemple, .
  15. Que se passe-t-il si les noms de mes colonnes contiennent des espaces ou des caractères spéciaux ?
  16. Utilisez le fonction qui peut gérer de tels noms de colonnes avec des backticks. Par exemple, .

Réflexions finales sur les techniques de sélection de lignes DataFrame

La sélection de lignes d'un DataFrame en fonction des valeurs de colonne dans Pandas est une compétence cruciale pour la manipulation des données. Les différentes méthodes discutées, dont l'indexation booléenne, , , et une indexation basée sur les étiquettes et l'emplacement des entiers avec et iloc, fournissent des outils puissants pour filtrer efficacement les données. La maîtrise de ces techniques permet une meilleure analyse des données et un code plus propre et plus maintenable.