Como excluir uma coluna sem nome no pandas dataframe


Você pode usar os dois métodos a seguir para excluir uma coluna em um DataFrame do pandas que contém “Unnamed” no nome da coluna:

Método 1: remover coluna sem nome ao importar dados

 df = pd. read_csv (' my_data.csv ', index_col= 0 )

Método 2: Remover coluna sem nome após importar dados

 df = df. loc [:, ~df. columns . str . contains (' ^Unnamed ')]

Os exemplos a seguir mostram como usar cada método na prática.

Exemplo 1: Remover uma coluna sem nome ao importar dados

Digamos que criamos um DataFrame simples do pandas e o exportamos para um arquivo CSV:

 import pandas as pd

#createDataFrame
df1 = pd. DataFrame ({' team ': ['A', 'B', 'C', 'D', 'E', 'F'],
                    ' points ': [4, 4, 6, 8, 9, 5],
                    ' rebounds ': [12, 7, 8, 8, 5, 11]})

#view DataFrame
print (df1)

  team points rebounds
0 to 4 12
1 B 4 7
2 C 6 8
3 D 8 8
4 E 9 5
5 F 5 11

#export DataFrame to CSV file
df1. to_csv (' my_data.csv ')

Agora, quando tentamos ler o arquivo em um DataFrame do pandas, a primeira coluna é chamada Sem nome: 0

 #import CSV file
df2 = pd. read_csv (' my_data.csv ')

#view DataFrame
print (df2)

   Unnamed: 0 team points rebounds
0 0 A 4 12
1 1 B 4 7
2 2 C 6 8
3 3 D 8 8
4 4 E 9 5
5 5 F 5 11

Para evitar isso, podemos especificar index_col=0 para informar ao pandas que a primeira coluna é na verdade a coluna do índice:

 #import CSV file
df2 = pd. read_csv (' my_data.csv ', index_col= 0 )

#view DataFrame
print (df2)

  team points rebounds
0 to 4 12
1 B 4 7
2 C 6 8
3 D 8 8
4 E 9 5
5 F 5 11

Exemplo 2: Remover coluna sem nome após importar dados

Digamos que criamos um DataFrame simples do pandas e o exportamos para um arquivo CSV:

 import pandas as pd

#createDataFrame
df1 = pd. DataFrame ({' team ': ['A', 'B', 'C', 'D', 'E', 'F'],
                    ' points ': [4, 4, 6, 8, 9, 5],
                    ' rebounds ': [12, 7, 8, 8, 5, 11]})

#export DataFrame to CSV file
df1. to_csv (' my_data.csv ')

Agora suponha que importemos este arquivo para um DataFrame do pandas:

 #import CSV file
df2 = pd. read_csv (' my_data.csv ')

#view DataFrame
print (df2)

   Unnamed: 0 team points rebounds
0 0 A 4 12
1 1 B 4 7
2 2 C 6 8
3 3 D 8 8
4 4 E 9 5
5 5 F 5 11

Para remover a coluna que contém “Sem nome” no nome, podemos usar a seguinte sintaxe:

 #drop any column that contains "Unnamed" in column name
df2 = df2. loc [:, ~df2. columns . str . contains (' ^Unnamed ')]

#view updated DataFrame
print (df2)

  team points rebounds
0 to 4 12
1 B 4 7
2 C 6 8
3 D 8 8
4 E 9 5
5 F 5 11

Observe que a coluna “Unnamed: 0” foi removida do DataFrame.

Recursos adicionais

Os tutoriais a seguir explicam como realizar outras tarefas comuns em pandas:

Como remover a primeira linha no Pandas DataFrame
Como remover a primeira coluna no Pandas DataFrame
Como remover colunas duplicadas no Pandas

Add a Comment

O seu endereço de email não será publicado. Campos obrigatórios marcados com *