Comment sous-ensemble un dataframe par une ou plusieurs colonnes ?

Lorsque vous essayez de donner un sens à un grand DataFrame dans Pandas, vous devrez peut-être le sous-ensemble par colonnes et lignes. Dans ce didacticiel, nous allons montrer les cas d'utilisation les plus courants du partitionnement de colonnes de votre DataFrame.

Nous allons commencer par configurer notre exemple DataFrame, ce que nous ferons en exécutant le code Python suivant dans notre environnement préféré (pour plus de simplicité, j'utilise Anaconda et Jupyter Lab).

import pandas as pd # import the pandas library

languages = ({"language": [ "Python", "C-Sharp", "Javascript","PHP"] ,
         "avg_difficulty_level": [3, 2, 2, 1],
              "avg_salary": [120, 100, 120, 80],
          "applications": [10,15,14,20]})

# Now let's convert our dict to a DataFrame

languages = pd.DataFrame.from_dict(languages)

Maintenant, examinons nos premières lignes Dataframe en utilisant la méthode head().

languages.head()

Comme vous pouvez le constater, il s'agit d'un DataFrame assez simple que nous utiliserons comme exemple dans cet article :

  Langue avg_difficulty_level avg_salary applications
0 Python 3 120 dix
1 do dièse 2 100 15
2 Javascript 2 120 14
3 PHP 1 80 20

Filtrer une seule colonne

Nous allons commencer par le cas le plus simple, qui consiste à créer un sous-ensemble d'une colonne de notre ensemble de données. L'exécution de la commande suivante créera un objet Series :

Par nom / étiquette

languages["language"]

La sortie est une série :

0Python
1 do dièse
2 Javascript
3 PHP
Nom : langage, dtype : objet
type(languages["language"])

pandas.core.series.Series

Par indice

La commande suivante renverra également une série contenant la première colonne

languages.iloc[:,0]

Sélection de plusieurs colonnes

De nom

Lors du passage d'une liste de colonnes, Pandas renverra un DataFrame contenant une partie des données.

languages[["language", "applications"]]
  Langue applications
0 Python dix
1 do dièse 15
2 Javascript 14
3 PHP 20

Par étiquette (avec loc)

df.loc[:,["language","applications"]]

Le résultat sera similaire.

Par indice

Récupérons maintenant plusieurs colonnes en utilisant l'index :

languages.iloc[: ,[0,3]]
  Langue applications
0 Python dix
1 do dièse 15
2 Javascript 14
3 PHP 20

Par condition

Dans ce cas, nous allons simplement afficher les colonnes dont le nom correspond à une expression spécifique. Nous allons utiliser la méthode de filtrage assez pratique :

languages.filter(axis = 1, like="avg")

Remarques:

  1. nous pouvons également filtrer par une expression régulière spécifique (regex).
  2. Nous pouvons appliquer le paramètre axis=0 pour filtrer par valeur de ligne spécifique.

Filtrer des lignes spécifiques par condition

Voici un moyen assez simple de créer un sous-ensemble du DataFrame en fonction d'une valeur de ligne :

languages[(languages["applications"] > 15)]

Nous n'avons qu'un seul résultat :

languages[(languages["applications"] > 15)]
  Langue avg_difficulty_level avg_salary applications
3 PHP 1 80 20

Gingembre 2.7.53.0

Gingembre 2.7.53.0

Ginger est un vérificateur d'orthographe et de grammaire gratuit.

Blocs

Blocs

Blocks est un jeu intellectuel permettant aux élèves de 3e année du primaire de mettre en pratique leurs compétences de détection et de vision. Il est inclus par les enseignants dans le programme de soutien pédagogique en informatique.

Prezi 6.26

Prezi 6.26

Prezi est une application gratuite qui vous permet de créer des présentations numériques, en ligne et hors ligne.

Mathway

Mathway

Mathway est une application très utile qui peut t'aider à résoudre tous ces problèmes mathématiques qui nécessitent un outil plus complexe que la calculatrice intégrée de ton appareil.

Présentateur Adobe

Présentateur Adobe

Adobe Presenter est un logiciel d'apprentissage en ligne publié par Adobe Systems, disponible sur la plate-forme Microsoft Windows en tant que plug-in Microsoft PowerPoint.

Toucans 2.3.0

Toucans 2.3.0

Toucan est une plateforme technologique éducative. Il vous permet d'apprendre une nouvelle langue tout en parcourant des sites Web courants et quotidiens.

ENetViet 24.2

ENetViet 24.2

eNetViet est une application qui permet de connecter les parents avec l'école où étudient leurs enfants afin qu'ils puissent comprendre clairement la situation d'apprentissage actuelle de leur enfant.

Duolingo

Duolingo

Duolingo - Apprendre des langues gratuitement, ou simplement Duolingo, est un programme éducatif qui vous permet d'apprendre et de pratiquer de nombreuses langues différentes.

Typagerapide

Typagerapide

RapidTyping est un outil de formation au clavier pratique et facile à utiliser qui vous aidera à améliorer votre vitesse de frappe et à réduire les fautes d'orthographe. Avec des cours organisés pour de nombreux niveaux différents, RapidTyping vous apprendra à taper ou à améliorer les compétences existantes.

MathType 7.4.10.53

MathType 7.4.10.53

MathType est un logiciel d'équation interactif du développeur Design Science (Dessci), qui vous permet de créer et d'annoter des notations mathématiques pour le traitement de texte, les présentations, le eLearning, etc. Cet éditeur est également utilisé pour créer des documents TeX, LaTeX et MathML.