Gerar novas colunas a partir de colunas preexistentes em um conjunto de dados é uma operação comum no estágio de pré-processamento de dados. É também um aspecto importante da engenharia de recursos. Em algumas circunstâncias, novas colunas são construídas em resposta às condições nas colunas existentes. Pandas e Numpy fornecem uma série de opções para esta tarefa.
Neste post, examinaremos diferentes abordagens para a construção de uma nova coluna, dependendo das condições das colunas existentes.
Métodos para criar uma coluna baseada em condições em pandas
As técnicas de pandas que vamos usar neste artigo são fornecidas abaixo:
Nesta lição, usaremos esses métodos e explicaremos como implementar todas as três maneiras em pandas.
Exemplo 01: Utilizando a técnica de compreensão da lista
A primeira abordagem que estamos usando aqui para criar uma coluna baseada na condição das colunas existentes é "compreensão da lista". Vamos aprender este método com um exemplo prático. Vamos começar o código.
Usamos a ferramenta “Spyder” para a implementação e execução dos códigos de exemplo python neste artigo. Abrimos um novo arquivo Python em "Spyder" para começar a escrever nosso script Python. Nosso código começa com a importação da biblioteca necessária, "Pandas como PD" aqui. Em seguida, criamos um DataFrame usando o “PD.DataFrame () ”função. Inicializamos esse quadro de dados com duas colunas "nome" e a "idade".
A coluna "Nome" armazena cinco nomes que são "Elsa", "Emma", "Alaxandar", "Ron" e "Sasha". Enquanto a coluna "Age" armazena o mesmo comprimento dos valores inteiros que são "28", 19 "," 26 "," 19 "e" 31 ". Em seguida, armazenamos esse DataFrame em um objeto de dados de dados que criamos "Info". Este DataFrame pode ser acessado pelo objeto "Info". Na última linha, o método "print ()" é invocado para exibir o recém -criado DataFrame.
Para a execução do código acima, pressione o botão "Run File" ou pressione as teclas "Shift+Enter". A saída exibida no terminal mostra um quadro de dados com 2 colunas, cada uma armazenando 5 valores.
Agora, geraremos outra coluna com base em uma condição na coluna criada anteriormente. Criamos outra coluna "Can_vote" dentro do quadro de dados "Info" para verificar quem pode votar nas eleições deste ano. Aplicamos uma condição, utilizando o método de compreensão da lista, se a idade da pessoa for 18 ou mais para ele votar. Usamos uma variável "A" que é qualquer valor da coluna "Age", à medida que verificamos as condições com base na idade da pessoa. A condição se torna "verdadeira" se a idade for igual ou maior que "18", mais a condição produz "falsa"; onde "a" é qualquer valor na coluna "idade" na estrutura de dados "info".
O primeiro valor da coluna "idade" é armazenado em "A", que é "28" e a condição será verificada. Como "28" é maior que "18", a condição produz "verdadeiro" e o primeiro valor da coluna "idade" se torna "verdadeiro". Esta operação continuará repetindo até que todos os valores tenham sido verificados quanto à condição especificada. Em seguida, empregamos o método "print ()" para exibir o quadro de dados com uma nova coluna com base na condição.
Quando executamos o script, ele exibe o DataFrame anterior com duas colunas e o quadro de dados atualizado com 3 colunas. Na imagem de saída abaixo, você pode ver que os únicos 4º O registro tem um valor menor que 18, então na coluna "Can_vote", seu valor é "falso", enquanto todos os outros registros atendem à condição especificada e, portanto, são valorizados como "verdadeiros".
Exemplo 02: Utilizando o quadro de dados de pandas.Aplicar () função
A segunda técnica que discutiremos aqui é o Pandas “DataFrame.Função Aplicar () ”para criar uma coluna baseada em condição.
O quadro de dados gerado no exemplo anterior será usado para esta demonstração. Temos o quadro de dados "Info", que contém duas colunas "Nome" e "Age", cada um com 5 registros. Depois de imprimir o quadro de dados "Info", trabalhamos para criar uma nova coluna neste DataFrame. Aqui definimos uma função "Can_vote" com "Age" como seu parâmetro. A primeira condição “se” inicia que afirma que, se a idade for maior e igual a 18, retorne um valor “verdadeiro”. Se a condição não corresponder, retornará "false". Esta função verificará todos os registros na coluna de idade e a combinará com a condição especificada até que cada registro seja comparado. Agora, temos que criar uma coluna com base na condição que é "can_vote" e atribui -la a saída de chamar o "DataFrame.Aplicar () ”função.
Fornecemos a função que definimos acima "Can_vote" como um parâmetro para o ".Método Aplicar () ”. Ele pegará o valor da coluna "Age" e verificará a função "Can_vote" e armazenará o resultado em uma nova coluna "Can_vote". Por fim, utilizamos o método "print ()" para imprimir o resultado.
A imagem de saída abaixo mostra a coluna recém -criada no DataFrame "Info", que possui 4 valores "verdadeiros" e um valor "falso" com base na condição especificada.
Exemplo 03: Utilizando o quadro de dados de pandas.Map () função
Nosso último método para criar uma coluna baseada na condição é usar o Pandas “DataFrame.Map () ”função.
Primeiro importamos a biblioteca “Pandas como PD” em nosso arquivo Python. Depois que os recursos dos pandas são ativados, começamos a escrever nosso código principal. Criamos nosso quadro de dados usando o “PD.DataFrame () ”Método e inicialize o DataFrame com duas colunas“ Date ”e“ Event ”. A coluna "Data" armazena os valores da hora que são "15/8/2022", "16/9/2022", "15/10/2022", "15/11/2022" e "16/12/2022 ”.
Enquanto a coluna "Evento" armazena 5 valores de cordas que são "desenhos animados", "jogos", "desenhos animados", "quebra -cabeças" e "jogos". Armazenamos esse quadro de dados em um objeto DataFrame "Data". Chamando o método "print ()" com o objeto DataFrame "Data" como seu parâmetro, exibirá o quadro de dados recém -criado no terminal.
Quando pressionarmos o botão "Run File", ele executará o arquivo python. O quadro de dados de saída é exibido no terminal, que possui duas colunas "Data" e "Event".
Agora, criamos outra coluna aplicando uma condição às colunas existentes. Criamos um dicionário "Plist" e estabelecemos o preço de cada evento, que inclui "desenhos animados: 1500", "Games: 800" e "Puzzles: 1200". Em seguida, adicione uma nova coluna "Preço" no quadro de dados "Data" e atribua -lhe o valor de mapear os registros da coluna "Evento" com os registros de dicionário "Plist".
Para esse fim, empregamos o “DataFrame.Map () ”função. O DataFrame com o nome da coluna “Data ['Price']” está escrito com o “.Map () ”função e o nome do dicionário“ Plist ”é fornecido entre seus aparelhos. Portanto, essa função mapeará o "evento" com o "Plist", sempre que um valor corresponde, resultará na nova coluna "Price".
A imagem de saída mostra os dois dados de dados. O segundo dataframe tem uma nova coluna adicionada a ele que insere cada registro com base na correspondência da condição.
Conclusão
A lição de hoje é baseada na criação da coluna com base em alguma condição especificada. Nós explicamos a você o conceito de criar uma nova coluna a partir dos existentes. Os pandas nos fornecem uma variedade de métodos para alcançar o resultado desejado. Neste tutorial, usamos algumas das funções de pandas “DataFrame.aplicar () ”,“ DataFrame.map () ”e“ Compreensão da lista ”. Cada técnica é elaborada com um código de exemplo prático implementado no Python na ferramenta “Spyder”. Nós realmente acreditamos que a prática totalmente focada em aprender o conceito de pandas fará de você um mestre.