Tentei criar uma coluna fora do for e não consegui
Tentei criar uma coluna fora do for e não consegui
Oi Luis! Tudo bem por aí?
Peço desculpas pela demora em lhe dar um retorno.
A função principal do loc a princípio é fazer seleções nos dataframes. Entretanto, também é possível criar colunas e linhas com esse comando!
Vamos utilizar o seguinte dataframe como exemplo:
import pandas as pd
dados = {
'Motor': ['Motor 4.0 Turbo', 'Motor Diesel', 'Motor Diesel V8', 'Motor Diesel', 'Motor 1.6'],
'Ano': [2019, 2003, 1991, 2019, 1990],
'Quilometragem': [0.0, 5712.0, 37123.0, 0.0, 120000.0],
'Zero_km': [True, False, False, True, False],
'Valor': [88000.0, 106000.0, 72000.0, 89000.0, 32000.0]
}
dataset = pd.DataFrame(dados, index = ['Jetta', 'Passat', 'Crossfox', 'DS5', 'Fusca'])
Para criarmos uma coluna nova nesse dataframe, essa nova coluna deve ter o mesmo tamanho de todas as outras colunas, portanto, essa nova coluna deve ter 5 linhas. Utilizando o loc, vamos criar uma coluna chamada "Aleatorio" contendo números de 1 a 5:
Entretanto, existe uma maneira ainda mais simples de criar essa coluna, sem utilizar o loc. Utilizando apenas a linha de código dataset['Aleatorio'] = aleatorio
. E obteremos o mesmo resultado:
Para criar uma linha utilizando o loc, você pode fazer da seguinte forma:
É importante ressaltar que o mesmo critério das colunas vale para a criação das linhas, ou seja, para criar uma nova linha, essa deve ser do mesmo tamanho das linhas já existentes no dataframe, tá bem?
Vou deixar os códigos que utilizei aqui para facilitar caso deseje testá-los:
# criando a lista com 5 numeros
aleatorio = [1, 2, 3, 4, 5]
# criando uma coluna utilizando o comando loc
dataset.loc[:, 'Aleatorio'] = aleatorio
dataset
# criando uma coluna sem utilizar o comando loc
dataset['Aleatorio'] = aleatorio
dataset
# criando uma linha utilizando o comando loc
dataset.loc['Aleatorio', :] = aleatorio
dataset
Espero que isso tenha te ajudado, se ficar com alguma dúvida é só chamar :)
Bons estudos!