1
resposta

Calculando o índice de altura relativa

import pandas as pd

# Dados das plantas
dados = {
    'Especie': ['Mangifera indica', 'Eucalyptus globulus', 'Pinus elliottii', 'Anacardium occidentale',
                'Coffea arabica', 'Hevea brasiliensis', 'Carica papaya', 'Theobroma cacao',
                'Cocos nucifera', 'Bertholletia excelsa'],
    'Regiao': ['Norte', 'Sul', 'Leste', 'Norte', 'Sul', 'Oeste', 'Leste', 'Norte', 'Oeste', 'Norte'],
    'AlturaMedia': [15, 30, 25, 12, 3, 20, 5, 10, 18, 40]
}

# Criando o DataFrame
df_plantas = pd.DataFrame(dados)

maior_altura = df_plantas['AlturaMedia'].max()
df_plantas['IndiceAlturaRelativa'] = df_plantas['AlturaMedia']/maior_altura
print(df_plantas[['Especie', 'AlturaMedia', 'IndiceAlturaRelativa']])
1 resposta

Ei,Marcia!

É um ótimo trabalho, parabéns! O seu cálculo do índice de altura relativa (IndiceAlturaRelativa) é simples e eficiente, usando a divisão pela maior altura (max()).

Se quiser praticar mais o round(), considere arredondar o IndiceAlturaRelativa para 2 ou 3 casas decimais. Por exemplo, usando .round(2) para melhorar a legibilidade.


df_plantas['Validação'] = df_plantas['AlturaMedia'].apply(lambda x: 'Inválido' if x <= 0 else 'Válido')


maior_altura = df_plantas[df_plantas['Validação'] == 'Válido']['AlturaMedia'].max()
df_plantas['IndiceAlturaRelativa'] = df_plantas.apply(
    lambda row: row['AlturaMedia'] / maior_altura if row['Validação'] == 'Válido' else None, axis=1
).round(2)

Continue nesse caminho em que está!

Alura Conte com o apoio da comunidade Alura na sua jornada. Abraços e bons estudos!