Remover Colunas por índice em Pandas DataFrame
Os DataFrames podem ser muito grandes e podem conter centenas de filas e colunas. É necessário ser proficiente em operações básicas de manutenção de um DataFrame, como deixar cair várias colunas. Podemos utilizar o método dataframe.drop()
para largar colunas ou linhas da DataFrame, dependendo do axis
especificado, 0 para linhas e 1 para colunas. Identifica os elementos a remover com base em algumas etiquetas. Por exemplo, largaremos a coluna 'a'
a partir do seguinte DataFrame.
import pandas as pd
df = pd.DataFrame(
[[10, 6, 7, 8], [1, 9, 12, 14], [5, 8, 10, 6]], columns=["a", "b", "c", "d"]
)
print(df)
df.drop(["a"], axis=1, inplace=True)
print(df)
Resultado:
a b c d
0 10 6 7 8
1 1 9 12 14
2 5 8 10 6
b c d
0 6 7 8
1 9 12 14
2 8 10 6
Repare na utilização do parâmetro inplace
na função drop. Com o parâmetro inplace
definido como True
, as colunas são removidas do DataFrame original; caso contrário, é devolvida uma cópia do original.
No nosso exemplo, removemos a coluna 'a'
, mas precisamos de passar o seu nome de etiqueta para a função dataframe.drop()
. Quando lidamos com grandes conjuntos de dados, devemos tratar dessas tarefas para muitas colunas ao mesmo tempo e utilizando índices de coluna em vez dos seus nomes.
Podemos conseguir isto utilizando o método dataframe.columns()
, que devolve todas as colunas de um DataFrame e passa os rótulos de coluna necessários utilizando os seus índices para a função dataframe.drop()
. O seguinte trecho de código explica como podemos fazer isto.
import pandas as pd
df = pd.DataFrame(
[[10, 6, 7, 8], [1, 9, 12, 14], [5, 8, 10, 6]], columns=["a", "b", "c", "d"]
)
df.drop(df.columns[[1, 2]], axis=1, inplace=True)
print(df)
Resultado:
a d
0 10 8
1 1 14
2 5 6
Desce colunas cujo índice é 1
ou 2
.
Também podemos evitar utilizar o parâmetro axis
, bastando mencionar o parâmetro columns
na função dataframe.drop()
, o que indica automaticamente que as colunas devem ser eliminadas. Exemplo:
import pandas as pd
df = pd.DataFrame(
[[10, 6, 7, 8], [1, 9, 12, 14], [5, 8, 10, 6]], columns=["a", "b", "c", "d"]
)
df.drop(columns=df.columns[[1, 2]], inplace=True)
print(df)
Resultado:
a d
0 10 8
1 1 14
2 5 6
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.
LinkedInArtigo relacionado - Pandas DataFrame
- Como obter os cabeçalhos da coluna Pandas DataFrame como uma lista
- Como eliminar a coluna Pandas DataFrame
- Como Converter a Coluna DataFrame para DataTempo em Pandas
- Como Converter um Flutuador em um Inteiro em Pandas DataFrame
- Como Classificar Pandas DataFrame pelos Valores de uma Coluna
- Como Obter o Agregado de Pandas Group-By e Sum