Pegue fatias de coluna do DataFrame em Pandas

  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

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'])
df1 = df.reindex(columns = ['c','b']) #Returns a new dataframe with c and b columns
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

Artigo relacionado - Pandas DataFrame

  • Split Pandas DataFrame
  • Como definir valor para uma célula específica em Pandas DataFrame usando índice