Pegue fatias de coluna do DataFrame em Pandas

Manav Narula 6 fevereiro 2021
  1. Utilizar loc() para fatiar colunas em Pandas DataFrame
  2. Utilize iloc() para fatiar colunas em Pandas DataFrame
  3. Utilize redindex() para fatiar colunas em Pandas DataFrame
Pegue fatias de coluna do DataFrame em Pandas

O corte de colunas em Pandas permite-nos cortar o dataframe em subconjuntos, o que significa que se cria um novo dataframe Pandas a partir do original apenas com as colunas necessárias. Trabalharemos com o seguinte dataframe como um exemplo para o corte de colunas.

import pandas as pd
import numpy as np

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

Resultado:

          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

Utilizar loc() para fatiar colunas em Pandas DataFrame

A biblioteca Pandas fornece-nos mais do que um método para realizar o corte de colunas. O primeiro método é a utilização da função loc().

A função Pandas loc() permite-nos aceder aos elementos de um quadro de dados utilizando nomes de colunas ou etiquetas de índice. A sintaxe para o corte de colunas utilizando loc():

dataframe.loc[:, [columns]]

Exemplo:

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)

Resultado:

          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

Utilize iloc() para fatiar colunas em Pandas DataFrame

Podemos também utilizar a função iloc() para aceder a elementos de um quadro de dados utilizando o índice inteiro de linhas e colunas. A sintaxe para o corte de colunas utilizando iloc():

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

Exemplo:

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)

Resultado:

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

Utilize redindex() para fatiar colunas em Pandas DataFrame

A função reindex() também pode ser utilizada para alterar os índices do quadro de dados e pode ser utilizada para o corte de colunas. A função reindex() pode aceitar muitos argumentos, mas para o corte da coluna, só precisamos de fornecer a função com os nomes das colunas.

A sintaxe para o corte da coluna utilizando reindex():

dataframe.reindex(columns=[column_names])

Exemplo:

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)

Resultado:

          c         b
0  0.429790  0.962838
1  0.605381  0.463617
2  0.922489  0.733338
3  0.741352  0.118478
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

Artigo relacionado - Pandas DataFrame