Prenez des tranches de colonnes de DataFrame dans Pandas

Manav Narula 30 janvier 2023
  1. Utilisez loc() pour découper les colonnes dans la dataframe de Pandas
  2. Utiliser iloc() pour découper les colonnes dans Pandas DataFrame
  3. Utiliser redindex() pour découper les colonnes dans Pandas DataFrame
Prenez des tranches de colonnes de DataFrame dans Pandas

Le découpage en colonnes dans Pandas nous permet de découper la DataFrame en sous-ensembles, ce qui signifie qu’il crée une nouvelle DataFrame Pandas à partir de l’originale avec uniquement les colonnes requises. Nous allons travailler avec la DataFrame suivante comme exemple de découpage en colonnes.

import pandas as pd
import numpy as np

df = pd.DataFrame(np.random.rand(4, 4), columns=["a", "b", "c", "d"])
print(df)

Production :

          a         b         c         d
0  0.797321  0.468894  0.335781  0.956516
1  0.546303  0.567301  0.955228  0.557812
2  0.385315  0.706735  0.058784  0.578468
3  0.751037  0.248284  0.172229  0.493763

Utilisez loc() pour découper les colonnes dans la dataframe de Pandas

La bibliothèque Pandas nous offre plus d’une méthode pour réaliser le découpage en colonnes. La première est l’utilisation de la fonction loc().

La fonction loc() de Pandas nous permet d’accéder aux éléments d’une DataFrame en utilisant les noms de colonnes ou les étiquettes d’index. La syntaxe pour le découpage en colonnes en utilisant loc() :

dataframe.loc[:, [columns]]

Exemple :

import pandas as pd
import numpy as np

df = pd.DataFrame(np.random.rand(4, 4), columns=["a", "b", "c", "d"])
df1 = df.loc[:, "a":"c"]  # Returns a new dataframe with columns a,b and c
print(df1)

Production :

          a         b         c
0  0.344952  0.611792  0.213331
1  0.907322  0.992097  0.080447
2  0.471611  0.625846  0.348778
3  0.656921  0.999646  0.976743

Utiliser iloc() pour découper les colonnes dans Pandas DataFrame

Nous pouvons également utiliser la fonction iloc() pour accéder aux éléments d’une DataFrame en utilisant l’index entier des lignes et des colonnes. La syntaxe pour le découpage des colonnes en utilisant iloc() :

dataframe.iloc[:, [column - index]]

Exemple :

import pandas as pd
import numpy as np

df = pd.DataFrame(np.random.rand(4, 4), columns=["a", "b", "c", "d"])
df1 = df.iloc[:, 0:2]  # Returns a new dataframe with first two columns
print(df1)

Production :

          a         b
0  0.034587  0.070249
1  0.648231  0.721517
2  0.485168  0.548045
3  0.377612  0.310408

Utiliser redindex() pour découper les colonnes dans Pandas DataFrame

La fonction reindex() peut également être utilisée pour modifier les index du dataframe et peut être utilisée pour le découpage des colonnes. La fonction reindex() peut prendre de nombreux arguments, mais pour le découpage en colonnes, il suffit de fournir à la fonction les noms des colonnes.

La syntaxe pour le découpage en colonnes en utilisant reindex() :

dataframe.reindex(columns=[column_names])

Exemple :

import pandas as pd
import numpy as np

df = pd.DataFrame(np.random.rand(4, 4), columns=["a", "b", "c", "d"])
# Returns a new dataframe with c and b columns
df1 = df.reindex(columns=["c", "b"])
print(df1)

Production :

          c         b
0  0.429790  0.962838
1  0.605381  0.463617
2  0.922489  0.733338
3  0.741352  0.118478
Auteur: Manav Narula
Manav Narula avatar Manav Narula avatar

Manav is a IT Professional who has a lot of experience as a core developer in many live projects. He is an avid learner who enjoys learning new things and sharing his findings whenever possible.

LinkedIn

Article connexe - Pandas DataFrame