2
respostas

[Bug] Utilização da biblioteca seaborn

Na utilização da biblioteca seaborn, quando executo o comando para plotar um gráfico, passando o argumento (hue = "xxx"), o jupyter apresenta o seguinte erro: AttributeError: module 'numpy' has no attribute 'float'.

Fiz uma pesquisa sobre o erro, e descobri que a versão do numpy não está aceitando np.float. Como posso contornar essa falha, devo fazer download de uma versao específica?

Essa é a continuação do do texto do Jupyter: **np.float was a deprecated alias for the builtin float. To avoid this error in existing code, use float by itself. Doing this will not modify any behavior and is safe. If you specifically wanted the numpy scalar type, use np.float64 here.**

É o segundo projeto que não consigo da sequencia na execução, pois apresenta esse erro, basta eu retirar o argumento (hue) que o código funciona, ou coloco (hue=None).

2 respostas

Oi

Esse erro está relacionado a uma mudança nas versões recentes do NumPy, onde np.float foi depreciado como um alias para o tipo float embutido no Python. Para contornar isso, você pode fazer o seguinte:

  1. Atualizar as Bibliotecas: Certifique-se de que está usando versões recentes tanto do Seaborn quanto do NumPy. Atualize as bibliotecas para as versões mais recentes usando o seguinte comando:

    pip install seaborn --upgrade
    pip install numpy --upgrade
    
  2. Modificar o Código: Se a atualização não resolver o problema, você pode modificar o código conforme sugerido no aviso. Substitua qualquer instância de np.float por float. Se o código estiver usando np.float64, você também pode fazer essa substituição.

    Por exemplo, se você tiver algo como:

    hue_data = np.float(data['xxx'])
    

    Modifique para:

    hue_data = float(data['xxx'])
    

    Ou, se você estava usando np.float64:

    hue_data = np.float64(data['xxx'])
    

    Modifique para:

    hue_data = float(data['xxx'])
    
  3. Atualizar o Código Seaborn (Opcional): Se, mesmo após a atualização e as modificações acima, o problema persistir, você pode verificar se há uma versão mais recente do Seaborn que corrija esse problema específico. No entanto, isso pode não ser necessário se as modificações no código resolverem o problema.

Lembre-se de reiniciar o kernel do Jupyter após fazer essas alterações para garantir que as modificações tenham efeito. Se ainda assim o problema persistir, compartilhe trechos relevantes do seu código para que eu possa oferecer uma ajuda mais específica.

input: dataset_processado.fillna(0, inplace=True) missing = dataset_processado.isna().sum() print(missing) dataset_processado.head(10)

output: populacaoTCU2019 0 casosAcumulado 0 casosNovos 0 obitosAcumulado 0 obitosNovos 0 Recuperadosnovos 0 emAcompanhamentoNovos 0 interior/metropolitana 0 dtype: int64

input: import seaborn as sns dataset_processado["cluster"] = labels sns.pairplot(dataset_processado[0:], hue="cluster")

output: AttributeError Traceback (most recent call last) Cell In[84], line 3 import seaborn as sns dataset_processado["cluster"] = labels sns.pairplot(dataset_processado[0:], hue="cluster")

ERRO

AttributeError: module 'numpy' has no attribute 'float'. np.float was a deprecated alias for the builtin float. To avoid this error in existing code, use float by itself. Doing this will not modify any behavior and is safe. If you specifically wanted the numpy scalar type, use np.float64 here. The aliases was originally deprecated in NumPy 1.20; for more details and guidance see the original release note at: https://numpy.org/devdocs/release/1.20.0-notes.html#deprecations

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