HOWTO · Pandas

Pegue fatias de coluna do DataFrame em Pandas

Este tutorial demonstra como tomar colunas em pandas usando os métodos .loc(),.iloc() e .reindex()

Nesta página

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