HOWTO · Pandas

Pandas Excluir Coluna

Este tutorial explica como podemos obter todas as colunas de um DataFrame, excepto uma coluna em particular.

Este tutorial explica como podemos seleccionar todas as colunas excepto uma de um DataFrame em particular. Neste artigo, utilizaremos o exemplo abaixo DataFrame.

import pandas as pd

stocks_df = pd.DataFrame(
    {
        "Stock": ["Amazon", "Tesla", "Facebook", "Boeing"],
        "Price(in $)": [3180, 835, 267, 209],
        "Sector": ["Technology", "Technology", "Technology", "Aircraft"],
    }
)

print("Stocks Dataframe:")
print(stocks_df, "\n")

Resultado:

Stocks Dataframe:
      Stock  Price(in $)      Sector
0    Amazon         3180  Technology
1     Tesla          835  Technology
2  Facebook          267  Technology
3    Boeing          209    Aircraft

Pandas Seleccionar Tudo Excepto Uma Coluna Utilizando a Propriedade loc

import pandas as pd

stocks_df = pd.DataFrame(
    {
        "Stock": ["Amazon", "Tesla", "Facebook", "Boeing"],
        "Price(in $)": [3180, 835, 267, 209],
        "Sector": ["Technology", "Technology", "Technology", "Aircraft"],
    }
)

print("Stocks Dataframe:")
print(stocks_df, "\n")

print("Stocks DataFrame excluding Sector Column:")
filtered_df = stocks_df.loc[:, stocks_df.columns != "Sector"]
print(filtered_df, "\n")

Resultado:

Stocks Dataframe:
      Stock  Price(in $)      Sector
0    Amazon         3180  Technology
1     Tesla          835  Technology
2  Facebook          267  Technology
3    Boeing          209    Aircraft

Stocks DataFrame excluding Sector Column:
      Stock  Price(in $)
0    Amazon         3180
1     Tesla          835
2  Facebook          267
3    Boeing          209

Selecciona todos excepto a coluna Sector a partir do stocks_df DataFrame, atribui o resultado ao filtered_df, e depois exibe o conteúdo do filetered_df.

A propriedade loc selecciona os elementos com base nas linhas e colunas especificadas. O símbolo : antes de , na propriedade loc especifica que precisamos de seleccionar todas as linhas. Para as colunas, especificámos para seleccionar apenas a coluna cujo nome não é Sector. Assim, seleccionará todas as colunas excepto a coluna Sector.

Pandas Seleccionar todas, excepto uma coluna Utilizando o drop() Método

Podemos largar colunas especificadas de um DataFrame utilizando o método drop(), definindo axis=1 no método.

import pandas as pd

stocks_df = pd.DataFrame(
    {
        "Stock": ["Amazon", "Tesla", "Facebook", "Boeing"],
        "Price(in $)": [3180, 835, 267, 209],
        "Sector": ["Technology", "Technology", "Technology", "Aircraft"],
    }
)

print("Stocks Dataframe:")
print(stocks_df, "\n")

print("Stocks DataFrame excluding Sector Column:")
filtered_df = stocks_df.drop("Sector", axis=1)
print(filtered_df, "\n")

Resultado:

Stocks Dataframe:
      Stock  Price(in $)      Sector
0    Amazon         3180  Technology
1     Tesla          835  Technology
2  Facebook          267  Technology
3    Boeing          209    Aircraft

Stocks DataFrame excluding Sector Column:
      Stock  Price(in $)
0    Amazon         3180
1     Tesla          835
2  Facebook          267
3    Boeing          209

Larga a coluna Sector do stocks_df DataFrame e atribui o resultado ao filtered_df.

Também podemos excluir várias colunas de um DataFrame, deixando cair várias colunas utilizando o método drop(). Fornecemos uma lista de nomes de colunas a serem abandonadas como argumento para o método drop().

import pandas as pd

stocks_df = pd.DataFrame(
    {
        "Stock": ["Amazon", "Tesla", "Facebook", "Boeing"],
        "Price(in $)": [3180, 835, 267, 209],
        "Sector": ["Technology", "Technology", "Technology", "Aircraft"],
    }
)

print("Stocks Dataframe:")
print(stocks_df, "\n")

print("Stocks DataFrame excluding Sector and Price Column:")
filtered_df = stocks_df.drop(["Sector", "Price(in $)"], axis=1)
print(filtered_df, "\n")

Resultado:

Stocks Dataframe:
      Stock  Price(in $)      Sector
0    Amazon         3180  Technology
1     Tesla          835  Technology
2  Facebook          267  Technology
3    Boeing          209    Aircraft

Stocks DataFrame excluding Sector and Price Column:
      Stock
0    Amazon
1     Tesla
2  Facebook
3    Boeing

Exclui as colunas Price(in $) e Sector do stocks_df DataFrame.

Pandas Seleccione Tudo Excepto Uma Coluna Utilizando o método difference()

import pandas as pd

stocks_df = pd.DataFrame(
    {
        "Stock": ["Amazon", "Tesla", "Facebook", "Boeing"],
        "Price(in $)": [3180, 835, 267, 209],
        "Sector": ["Technology", "Technology", "Technology", "Aircraft"],
    }
)

print("Stocks Dataframe:")
print(stocks_df, "\n")

print("Stocks DataFrame excluding Sector Column:")
filtered_df = stocks_df[stocks_df.columns.difference(["Sector"])]
print(filtered_df, "\n")

Resultado:

Stocks Dataframe:
      Stock  Price(in $)      Sector
0    Amazon         3180  Technology
1     Tesla          835  Technology
2  Facebook          267  Technology
3    Boeing          209    Aircraft

Stocks DataFrame excluding Sector Column:
   Price(in $)     Stock
0         3180    Amazon
1          835     Tesla
2          267  Facebook
3          209    Boeing

Deixa cair a coluna Sector do stocks_df DataFrame e atribui o resultado ao filtered_df.