Quando trabalhamos com dados em algum momento vamos precisar criar uma coluna para adicionar novos dados. Na grande maioria dos casos essa nova coluna será criada num dataframe já existente. Com a biblioteca Pandas podemos criar colunas de maneiras diferentes.
Nesse post, vamos criar novas colunas com o método assign()
e deletar colunas, que não vamos precisar, com o método drop()
.
Como criar colunas com Pandas
Para criar uma nova coluna vamos atribuir um valor a um índice. É importante lembra que não vamos criar um dataframe novo, mas sim modificando o atual. Quando atribuir um valor a coluna, o valor passado será usado para todos os elementos da coluna. Vamos criar uma coluna indicando se já vimos o filme. Por padrão as novas colunas são adicionadas no final.
>>> import pandas as pd >>> filmes = pd.read_csv('filmes.csv') >>> filmes['assistido'] = 0
Mesmo o exemplo acima funcionando e sendo bastante comum, ainda podemos usar o método assign()
. Usando esse método um novo dataframe será criado com uma coluna a mais. O método usa o nome do parâmetro como o novo nome da coluna, então o novo nome deve ser um nome valido para um parâmetro.
>>> filmes = filmes.drop(columns='assistido') >>> filmes.assign(assistido = 0) indice codigo_obra ... data_exibicao assistido 0 0 15639 ... 06/jul/12 0 1 1 7603 ... 13/jul/04 0 2 2 26453 ... 26/09/2007 0 3 3 17284 ... 16/12/2002 0 4 4 4806 ... 15/jan/03 0 ... ... ... ... ... ... 9257 9257 16001794 ... 09/jul/20 0 9258 9258 15000966 ... 25/nov/19 0 9259 9259 19002684 ... 14/02/2020 0 9260 9260 609762 ... 20/12/2019 0 9261 9261 19005137 ... 18/10/2019 0 [9262 rows x 10 columns]
Para remover uma coluna vamos usar o método drop()
. O método drop()
recebe o nome da coluna que queremos excluir do dataframe através do parâmetro columns
. Veja um exemplo:
>>> filmes.drop(columns = 'assistido')
Repare que o método drop()
cria um novo dataframe, assim como o método assign()
.
Uma alternativa ao método drop()
é com a declaração del.
del filmes[‘diretor’]
Tem mais...
Se você quiser adicionar uma coluna entre outras já existentes, o método que você deve utilizar é o insert()
. Esse método recebe três parâmetros: o primeiro deve ser um inteiro com a posição da nova coluna; o segundo, o nome da nova coluna; e o terceiro os valores da coluna.
>>> filmes.insert( ... loc=6, ... column='nova', ... value=42 ... ) >>> filmes.info() <class 'pandas.core.frame.DataFrame'> RangeIndex: 9262 entries, 0 to 9261 Data columns (total 11 columns): # Column Non-Null Count Dtype --- ------ -------------- ----- 0 indice 9262 non-null int64 1 codigo_obra 9262 non-null int64 2 titulo_original 9262 non-null object 3 titulo_brasil 9262 non-null object 4 ano_producao 9259 non-null float64 5 diretor 9262 non-null object 6 nova 9262 non-null int64 7 razao_social_requerente 9262 non-null object 8 cnpj_requerente 9262 non-null object 9 data_exibicao 9262 non-null object 10 assistido 9262 non-null object dtypes: float64(1), int64(3), object(7) memory usage: 542.8+ KB
Nesse exemplo, adicionamos uma coluna depois da coluna ‘diretor’, na posição seis (lembre-se que o índice começa em zero). E adicionamos o valor quarenta e dois para todos os elementos dessa coluna. O parâmetro value aceita números inteiros, séries ou arrays.
0 comentários:
Postar um comentário