Como eu faço para dividir esse DataFrame em dois a partir dos dados do Sexo ?
Ex: um df só com as informações referentes ao sexo masculino e outro para o feminino ...
Você está vendo a versão anterior da nova experiência da Alura que estamos preparando para você. Em breve, ela ganha uma identidade visual novinha totalmente pensada em potencializar seus estudos!
Como eu faço para dividir esse DataFrame em dois a partir dos dados do Sexo ?
Ex: um df só com as informações referentes ao sexo masculino e outro para o feminino ...
Olá, bom dia! Existem algumas formas de fazer isso:
dados_homens = dados.query("Sexo == 0")
dados_mulheres = dados.query("Sexo == 1")Essa primeira usa o método query dos DataFrames para fazer uma busca, que é passada na forma de uma string.
dados_homens = dados[dados.Sexo == 0]
dados_mulheres = dados[dados.Sexo == 1]Essa segunda forma usa a sintaxe de seleção dos DataFrames, que usa uma Series booleana para funcionar. Uma Series booleana é um tipo de lista própria da biblioteca Pandas que contém somente valores 0 e 1, que são falso e verdadeiro respectivamente. Então nós passamos essa Series dentro dos colchetes para fazer a seleção, pegando os índices que são verdadeiro (1) e ignorando os índices que são falsos (0).
dados_agrupados_por_sexo = dados.groupby(by='Sexo')Essa terceira forma não faz a separação dos dados, faz somente um agrupamento de acordo com uma coluna. Esse método é usado para quando queremos aplicar alguma função em cada grupo desses dados, como calcular a média, mediana ou algum outro cálculo:
dados.groupby(by='Sexo').mean() # média de cada coluna para cada sexo
dados.groupby(by='Sexo').median() # mediana de cada coluna para cada sexoOutra coisa que pode ajudar na hora dessa separação é substituir os valores de 0 e 1 para masculino e feminino:
dados.Sexo.replace({0: "M", 1: "F"}, inplace = True)Então a divisão ficaria assim:
# Usando seleção
dados_homens = dados[dados.Sexo == "M"]
dados_mulheres = dados[dados.Sexo == "F"]
# Usando query
dados_homens = dados.query("Sexo == 'M'")
dados_mulheres = dados.query("Sexo == 'F'")Espero ter ajudado!