1
resposta

[Sugestão] Código diferente

Se o comando da pergunta estive pedindo a média por sexo, poderiamos utilizar o método groupby, ou seja, iriamos agrupar por sexo.

O código ficaria da seguinte forma:

dataset = pd.DataFrame({
    'Sexo': ['H', 'M', 'M', 'M', 'M', 'H', 'H', 'H', 'M', 'M'],
    'Idade': [53, 72, 54, 27, 30, 40, 58, 32, 44, 51]
})
dataset.groupby(['Sexo'])['Idade'].mean()

Sexo
H    45.750000
M    46.333333
Name: Idade, dtype: float64

Como a questão pediu ficou assim:

dataset['Idade'].mean()

pra mim não faria sentido colocar

 dataset.mean()

pois existe uma variável qualitativa no dataset.

1 resposta

Olá, David! Tudo bem com você?

A sua observação é pertinente. Atualmente, na versão 1.4.2 do pandas, quando executamos o código dataset.mean() rebecemos a mensagem:

FutureWarning: Dropping of nuisance columns in DataFrame reductions (with 'numeric_only=None') is deprecated; in a future version this will raise TypeError. Select only valid columns before calling the reduction.

Tradução livre: FutureWarning: A eliminação de colunas incômodas em reduções de DataFrame (com 'numeric_only=None') está obsoleta; em uma versão futura, isso lançaria o TypeError. Selecione apenas colunas válidas antes de chamar a redução.

Isso acontece porque o Pandas está tentando fazer a média de uma coluna categórica, ou variável qualitativa como você mencionou. Então o mais recomendado é utilizar dataset['Idade'].mean().

Muito obrigado pela observação. Repassarei ao setor responsável.

Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓. Bons Estudos!

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software