1
resposta

Math module

Olá, estou com uma dúvida sobre a fórmula usada no cálculo da distribuição de Poison.

A proposta foi:

import numpy as np
probabilidade = ((np.e ** (-media)) * (media ** k)) / (np.math.factorial(k))
print('%0.8f' % probabilidade)

No entanto ao rodá-la no Colab dá erro: **module 'numpy' has no attribute 'math'**

Como correção a IA sugere usar o módulo 'math' das funções built-in do Python e ficaria assim:

import math
probabilidade = ((np.e ** (-media)) * (media ** k)) / (math.factorial(k))
print('%0.8f' % probabilidade)

Minha dúvida: Por que no video o instrutor mostra a fórmula "(np.math.factorial(k))" que dá erro no meu Colab e com ele não dá erro?

1 resposta

Ei, Sérgio! Tudo bem?

O erro aconteceu porque as versões mais novas do NumPy o np.math está depreciado. Sendo substituído apenas por math. Essa atualização ocorreu entre as versões 1.20 e 1.26 do NumPy.

Está tudo certo usar o math, mas caso queira testar com o np.math recomendo reinstalar/downgrade o NumPy para a versão um pouco mais antiga. Por exemplo:

!pip install numpy==1.26.4

Estes conteúdos podem abrir em inglês e se preferir ler em português, recomendo que utilize o tradutor automático do navegador.

Espero ter ajudado e qualquer dúvida, compartilhe no fórum.

Bons estudos e até mais!

Caso este post tenha lhe ajudado, por favor, marcar como solucionado!