{"id":10435,"date":"2023-08-06T09:48:46","date_gmt":"2023-08-06T12:48:46","guid":{"rendered":"https:\/\/www.homehost.com.br\/blog\/?p=10435"},"modified":"2024-04-12T18:55:15","modified_gmt":"2024-04-12T21:55:15","slug":"nan-python","status":"publish","type":"post","link":"https:\/\/www.homehost.com.br\/blog\/pythondjango\/nan-python\/","title":{"rendered":"Nan Python: teoria e pr\u00e1tica"},"content":{"rendered":"\n<p>Neste texto, abordaremos o conceito de <strong>NaN Python<\/strong>, explorando sua teoria e pr\u00e1tica. O NaN \u00e9 um valor especial utilizado para representar resultados inv\u00e1lidos ou indefinidos em opera\u00e7\u00f5es matem\u00e1ticas.&nbsp;<\/p>\n\n\n\n<p>Veremos como detect\u00e1-lo e tamb\u00e9m discutiremos pr\u00e1ticas recomendadas para lidar com valores indefinidos em c\u00e1lculos matem\u00e1ticos.&nbsp;<\/p>\n\n\n\n<p><strong>Ao entender o conceito do NaN e aplicar estrat\u00e9gias adequadas,<\/strong> garantiremos opera\u00e7\u00f5es matem\u00e1ticas corretas e resultados consistentes em nossas aplica\u00e7\u00f5es <a href=\"https:\/\/www.homehost.com.br\/blog\/pythondjango\/o-que-e-python\/\" target=\"_blank\" rel=\"noreferrer noopener\">Python<\/a>.&nbsp;<\/p>\n\n\n\n<p>Exploraremos agora como as bibliotecas Pandas e Numpy podem ajudar no tratamento de dados ausentes ou indefinidos em an\u00e1lise de dados. Al\u00e9m disso, utilizaremos essas ferramentas para aprimorar nossa compreens\u00e3o desses cen\u00e1rios.<\/p>\n\n\n\n<p>Assim, vamos come\u00e7ar conhecendo o que \u00e9 o NaN em Python e sua sintaxe de representa\u00e7\u00e3o.<\/p>\n\n\n\n<p>Artigos relacionados:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><a href=\"https:\/\/www.homehost.com.br\/blog\/pythondjango\/extensoes-pdf-python\/\">Python&nbsp;ext:pdf \u2013&nbsp;extens\u00f5es PDF no&nbsp;Python<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/www.homehost.com.br\/blog\/pythondjango\/python-switch-case\/\">Python&nbsp;Switch Case: aprenda tudo sobre condi\u00e7\u00f5es Switch Case<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/www.homehost.com.br\/blog\/pythondjango\/python-while\/\">Python&nbsp;while: o guia completo para a execu\u00e7\u00e3o repetitiva<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/www.homehost.com.br\/blog\/pythondjango\/python-range\/\">Python&nbsp;range: o guia completo da fun\u00e7\u00e3o range<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/www.homehost.com.br\/blog\/pythondjango\/ide-python\/\">IDE Python: Comparando os melhores IDEs para&nbsp;Python<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/www.homehost.com.br\/blog\/pythondjango\/split-python\/\">Split python: o m\u00e9todo mais poderoso para manipula\u00e7\u00e3o de strings<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/www.homehost.com.br\/blog\/pythondjango\/cursos-de-python-gratuitos\/\">Cursos de&nbsp;Python&nbsp;Gratuitos<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/www.homehost.com.br\/blog\/pythondjango\/colt-python\/\">Colt python: Tutoriais e exemplos pr\u00e1ticos para an\u00e1lises de dados<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/www.homehost.com.br\/blog\/pythondjango\/if-else-python\/\">If else Python: um guia completo para condicionais<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/www.homehost.com.br\/blog\/pythondjango\/pandas-python\/\">Pandas python: como analisar dados com pandas em&nbsp;Python<\/a><\/li>\n<\/ul>\n\n\n\n<div id=\"ez-toc-container\" class=\"ez-toc-v2_0_72 ez-toc-wrap-center counter-hierarchy ez-toc-counter ez-toc-custom ez-toc-container-direction\">\n<div class=\"ez-toc-title-container\">\n<p class=\"ez-toc-title\" style=\"cursor:inherit\">Conte\u00fado<\/p>\n<span class=\"ez-toc-title-toggle\"><\/span><\/div>\n<nav><ul class='ez-toc-list ez-toc-list-level-1 ' ><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-1\" href=\"https:\/\/www.homehost.com.br\/blog\/pythondjango\/nan-python\/#O_que_e_NaN_Python\" title=\"O que \u00e9 NaN Python?\">O que \u00e9 NaN Python?<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-2\" href=\"https:\/\/www.homehost.com.br\/blog\/pythondjango\/nan-python\/#Sintaxe_de_NaN_Python\" title=\"Sintaxe de NaN Python\">Sintaxe de NaN Python<\/a><ul class='ez-toc-list-level-3' ><li class='ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-3\" href=\"https:\/\/www.homehost.com.br\/blog\/pythondjango\/nan-python\/#Exemplo_1_Divisao_por_zero\" title=\"Exemplo 1: Divis\u00e3o por zero\">Exemplo 1: Divis\u00e3o por zero<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-4\" href=\"https:\/\/www.homehost.com.br\/blog\/pythondjango\/nan-python\/#Exemplo_2_Operacoes_invalidas\" title=\"Exemplo 2: Opera\u00e7\u00f5es inv\u00e1lidas\">Exemplo 2: Opera\u00e7\u00f5es inv\u00e1lidas<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-5\" href=\"https:\/\/www.homehost.com.br\/blog\/pythondjango\/nan-python\/#Exemplo_3_Conversoes_invalidas\" title=\"Exemplo 3: Convers\u00f5es inv\u00e1lidas\">Exemplo 3: Convers\u00f5es inv\u00e1lidas<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-6\" href=\"https:\/\/www.homehost.com.br\/blog\/pythondjango\/nan-python\/#Exemplo_4_Comparacao_com_NaN\" title=\"Exemplo 4: Compara\u00e7\u00e3o com NaN\">Exemplo 4: Compara\u00e7\u00e3o com NaN<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-7\" href=\"https:\/\/www.homehost.com.br\/blog\/pythondjango\/nan-python\/#Exemplo_5_Verificando_se_e_NaN\" title=\"Exemplo 5: Verificando se \u00e9 NaN\">Exemplo 5: Verificando se \u00e9 NaN<\/a><\/li><\/ul><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-8\" href=\"https:\/\/www.homehost.com.br\/blog\/pythondjango\/nan-python\/#Como_detectar_NaN_Python\" title=\"Como detectar NaN Python?\">Como detectar NaN Python?<\/a><ul class='ez-toc-list-level-3' ><li class='ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-9\" href=\"https:\/\/www.homehost.com.br\/blog\/pythondjango\/nan-python\/#Detectando_NaN_em_Python\" title=\"Detectando NaN em Python\">Detectando NaN em Python<\/a><\/li><\/ul><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-10\" href=\"https:\/\/www.homehost.com.br\/blog\/pythondjango\/nan-python\/#Como_lidar_com_NaN_Python\" title=\"Como lidar com NaN Python?\">Como lidar com NaN Python?<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-11\" href=\"https:\/\/www.homehost.com.br\/blog\/pythondjango\/nan-python\/#Ignorando_NaN_em_calculos_estatisticos_com_Numpy\" title=\"Ignorando NaN em c\u00e1lculos estat\u00edsticos com Numpy\">Ignorando NaN em c\u00e1lculos estat\u00edsticos com Numpy<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-12\" href=\"https:\/\/www.homehost.com.br\/blog\/pythondjango\/nan-python\/#Exemplos_de_NaN_Python\" title=\"Exemplos de NaN Python\">Exemplos de NaN Python<\/a><ul class='ez-toc-list-level-3' ><li class='ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-13\" href=\"https:\/\/www.homehost.com.br\/blog\/pythondjango\/nan-python\/#1_Criando_um_valor_NaN\" title=\"1. Criando um valor NaN\">1. Criando um valor NaN<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-14\" href=\"https:\/\/www.homehost.com.br\/blog\/pythondjango\/nan-python\/#2_Realizando_operacoes_invalidas\" title=\"2. Realizando opera\u00e7\u00f5es inv\u00e1lidas\">2. Realizando opera\u00e7\u00f5es inv\u00e1lidas<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-15\" href=\"https:\/\/www.homehost.com.br\/blog\/pythondjango\/nan-python\/#3_Calculando_a_raiz_quadrada_de_um_numero_negativo\" title=\"3. Calculando a raiz quadrada de um n\u00famero negativo\">3. Calculando a raiz quadrada de um n\u00famero negativo<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-16\" href=\"https:\/\/www.homehost.com.br\/blog\/pythondjango\/nan-python\/#4_Convertendo_uma_string_invalida_para_um_valor_numerico\" title=\"4. Convertendo uma string inv\u00e1lida para um valor num\u00e9rico\">4. Convertendo uma string inv\u00e1lida para um valor num\u00e9rico<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-17\" href=\"https:\/\/www.homehost.com.br\/blog\/pythondjango\/nan-python\/#5_Utilizando_o_NaN_em_calculos_matematicos\" title=\"5. Utilizando o NaN em c\u00e1lculos matem\u00e1ticos\">5. Utilizando o NaN em c\u00e1lculos matem\u00e1ticos<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-18\" href=\"https:\/\/www.homehost.com.br\/blog\/pythondjango\/nan-python\/#6_Verificando_se_um_valor_e_NaN\" title=\"6. Verificando se um valor \u00e9 NaN:\">6. Verificando se um valor \u00e9 NaN:<\/a><\/li><\/ul><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-19\" href=\"https:\/\/www.homehost.com.br\/blog\/pythondjango\/nan-python\/#Praticas_recomendadas_para_lidar_com_NaN_Python\" title=\"Pr\u00e1ticas recomendadas para lidar com NaN Python&nbsp;\">Pr\u00e1ticas recomendadas para lidar com NaN Python&nbsp;<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-20\" href=\"https:\/\/www.homehost.com.br\/blog\/pythondjango\/nan-python\/#O_porque_do_NaN\" title=\"O porqu\u00ea do NaN\">O porqu\u00ea do NaN<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-21\" href=\"https:\/\/www.homehost.com.br\/blog\/pythondjango\/nan-python\/#O_NaN_em_outras_linguagens\" title=\"O NaN em outras linguagens\">O NaN em outras linguagens<\/a><ul class='ez-toc-list-level-3' ><li class='ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-22\" href=\"https:\/\/www.homehost.com.br\/blog\/pythondjango\/nan-python\/#JavaScript\" title=\"JavaScript\">JavaScript<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-23\" href=\"https:\/\/www.homehost.com.br\/blog\/pythondjango\/nan-python\/#C\" title=\"C++\">C++<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-24\" href=\"https:\/\/www.homehost.com.br\/blog\/pythondjango\/nan-python\/#Java\" title=\"Java\">Java<\/a><\/li><\/ul><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-25\" href=\"https:\/\/www.homehost.com.br\/blog\/pythondjango\/nan-python\/#Uso_de_NaN_em_Pandas_e_Numpy_para_analise_de_dados\" title=\"Uso de NaN em Pandas e Numpy para an\u00e1lise de dados\">Uso de NaN em Pandas e Numpy para an\u00e1lise de dados<\/a><ul class='ez-toc-list-level-3' ><li class='ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-26\" href=\"https:\/\/www.homehost.com.br\/blog\/pythondjango\/nan-python\/#Em_Pandas\" title=\"Em Pandas\">Em Pandas<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-27\" href=\"https:\/\/www.homehost.com.br\/blog\/pythondjango\/nan-python\/#Em_Numpy\" title=\"Em Numpy\">Em Numpy<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-28\" href=\"https:\/\/www.homehost.com.br\/blog\/pythondjango\/nan-python\/#Exemplo_de_uso_em_Pandas\" title=\"Exemplo de uso em Pandas\">Exemplo de uso em Pandas<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-29\" href=\"https:\/\/www.homehost.com.br\/blog\/pythondjango\/nan-python\/#Exemplo_de_uso_em_Numpy\" title=\"Exemplo de uso em Numpy\">Exemplo de uso em Numpy<\/a><\/li><\/ul><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-30\" href=\"https:\/\/www.homehost.com.br\/blog\/pythondjango\/nan-python\/#Conclusao\" title=\"Conclus\u00e3o\">Conclus\u00e3o<\/a><\/li><\/ul><\/nav><\/div>\n\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"O_que_e_NaN_Python\"><\/span>O que \u00e9 NaN Python?<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p><strong>NaN em Python significa &#8220;Not a Number&#8221; (N\u00e3o \u00e9 um N\u00famero, em portugu\u00eas).<\/strong> \u00c9 um valor especial usado para representar resultados inv\u00e1lidos ou indefinidos em opera\u00e7\u00f5es matem\u00e1ticas. <strong>Quando algo n\u00e3o pode realizar a opera\u00e7\u00e3o corretamente,<\/strong> ele atribui o valor NaN para indicar que n\u00e3o \u00e9 um n\u00famero v\u00e1lido. Em outras palavras, o resultado se torna inv\u00e1lido e marcado como NaN.<\/p>\n\n\n\n<p><strong>Dessa maneira, o NaN \u00e9 \u00fatil quando trabalhamos com n\u00fameros em Python,<\/strong> especialmente em situa\u00e7\u00f5es onde opera\u00e7\u00f5es matem\u00e1ticas podem gerar resultados n\u00e3o definidos, como divis\u00f5es por zero ou opera\u00e7\u00f5es com valores inv\u00e1lidos.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Sintaxe_de_NaN_Python\"><\/span>Sintaxe de NaN Python<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p>Vamos, ent\u00e3o, explicar de forma did\u00e1tica e fluente sobre o &#8220;NaN&#8221; em Python.<\/p>\n\n\n\n<p><strong>&#8220;NaN&#8221;, que significa &#8220;Not a Number&#8221; (N\u00e3o \u00e9 um n\u00famero),<\/strong> \u00e9 usado para representar valores num\u00e9ricos indefinidos ou inv\u00e1lidos. Em Python, o &#8220;NaN&#8221; \u00e9 representado pelo m\u00f3dulo <strong><code>\"math\"<\/code><\/strong> e \u00e9 comumente usado quando temos c\u00e1lculos que resultam em valores n\u00e3o num\u00e9ricos.<\/p>\n\n\n\n<p>Come\u00e7amos importando o m\u00f3dulo <strong><code>\"math\"<\/code><\/strong> para ter acesso ao &#8220;NaN&#8221; e tamb\u00e9m ao <strong><code>\"inf\"<\/code><\/strong> (infinito) que s\u00e3o representa\u00e7\u00f5es especiais de n\u00fameros em Python.<\/p>\n\n\n\n<p><code>import math<\/code><\/p>\n\n\n\n<p>Agora, vamos ver como utilizar o &#8220;NaN&#8221; em algumas situa\u00e7\u00f5es:<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Exemplo_1_Divisao_por_zero\"><\/span>Exemplo 1: Divis\u00e3o por zero<span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<p>Quando dividimos por zero, o resultado se torna indefinido. Python nos retorna o &#8220;NaN&#8221;.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>resultado = 0 \/ 0\n\nprint(resultado)&nbsp; # Sa\u00edda: NaN<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Exemplo_2_Operacoes_invalidas\"><\/span>Exemplo 2: Opera\u00e7\u00f5es inv\u00e1lidas<span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<p>Algumas opera\u00e7\u00f5es matem\u00e1ticas podem resultar em valores indefinidos, como a raiz quadrada de um n\u00famero negativo.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>numero_negativo = -1\n\nraiz_quadrada = math.sqrt(numero_negativo)\n\nprint(raiz_quadrada)&nbsp; # Sa\u00edda: NaN<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Exemplo_3_Conversoes_invalidas\"><\/span>Exemplo 3: Convers\u00f5es inv\u00e1lidas<span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<p>Algumas convers\u00f5es de tipos podem gerar valores n\u00e3o num\u00e9ricos, como tentar converter uma <a href=\"https:\/\/www.homehost.com.br\/blog\/pythondjango\/string-python\/\" target=\"_blank\" rel=\"noreferrer noopener\">string<\/a> que n\u00e3o representa um n\u00famero para um valor num\u00e9rico.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>texto_invalido = \"Ol\u00e1, mundo!\"\n\nnumero_convertido = float(texto_invalido)\n\nprint(numero_convertido)&nbsp; # Sa\u00edda: NaN<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Exemplo_4_Comparacao_com_NaN\"><\/span>Exemplo 4: Compara\u00e7\u00e3o com NaN<span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<p>Uma particularidade importante do &#8220;NaN&#8221; \u00e9 que ele n\u00e3o \u00e9 igual a nenhum valor, nem mesmo a ele mesmo! Portanto, sempre que tentamos comparar um valor com &#8220;NaN&#8221;, o resultado ser\u00e1 falso.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>valor = 10\n\nresultado = valor == math.nan\n\nprint(resultado)&nbsp; # Sa\u00edda: False<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Exemplo_5_Verificando_se_e_NaN\"><\/span>Exemplo 5: Verificando se \u00e9 NaN<span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<p>Para verificar se um valor \u00e9 &#8220;NaN&#8221;, n\u00e3o podemos usar a compara\u00e7\u00e3o direta como no exemplo anterior. Em vez disso, utilizamos a fun\u00e7\u00e3o <strong><code>\"math.isnan()\"<\/code><\/strong>.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>meu_numero = float('nan')\n\nif math.isnan(meu_numero):\n\n&nbsp;&nbsp;&nbsp;&nbsp;print(\"O n\u00famero \u00e9 NaN\")\n\nelse:\n\n&nbsp;&nbsp;&nbsp;&nbsp;print(\"O n\u00famero n\u00e3o \u00e9 NaN\")<\/code><\/pre>\n\n\n\n<p>Lembre-se, no entanto, que o &#8220;NaN&#8221; \u00e9 espec\u00edfico para valores num\u00e9ricos. Voc\u00ea pode lidar com valores inv\u00e1lidos em outras situa\u00e7\u00f5es usando exce\u00e7\u00f5es ou mecanismos apropriados para represent\u00e1-los.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Como_detectar_NaN_Python\"><\/span>Como detectar NaN Python?<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p>Para detectar e lidar com NaN em Python, voc\u00ea pode usar a fun\u00e7\u00e3o <code><strong>math.isnan(<\/strong>)<\/code> para verificar se um valor \u00e9 NaN e algumas estrat\u00e9gias para trat\u00e1-lo. Assim, veremos alguns exemplos logo abaixo.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Detectando_NaN_em_Python\"><\/span>Detectando NaN em Python<span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<pre class=\"wp-block-code\"><code>import math<\/code><\/pre>\n\n\n\n<h4 class=\"wp-block-heading\">Exemplo: Verificar se um valor \u00e9 NaN<\/h4>\n\n\n\n<pre class=\"wp-block-code\"><code>valor = float('nan')\n\nif math.isnan(valor):\n\n&nbsp;&nbsp;&nbsp;&nbsp;print(\"O valor \u00e9 NaN\")\n\nelse:\n\n&nbsp;&nbsp;&nbsp;&nbsp;print(\"O valor n\u00e3o \u00e9 NaN\")<\/code><\/pre>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Como_lidar_com_NaN_Python\"><\/span>Como lidar com NaN Python?<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p><strong>Ao trabalhar com valores num\u00e9ricos em Python, deparamo-nos frequentemente com o NaN em situa\u00e7\u00f5es de resultados indefinidos.<\/strong> Duas estrat\u00e9gias principais para lidar com o NaN s\u00e3o: usar um valor padr\u00e3o e substituir o NaN por um valor adequado.<\/p>\n\n\n\n<p>Para implementar a primeira estrat\u00e9gia, no entanto, n\u00f3s definimos um valor padr\u00e3o para substituir o NaN. Usaremos uma estrutura condicional para verificar se o valor \u00e9 NaN e, caso seja, atribuiremos um valor predefinido. Dessa forma, evitaremos resultados inesperados e garantiremos que a opera\u00e7\u00e3o continue com um valor v\u00e1lido.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>import math\n\ndef dividir(a, b):\n\n&nbsp;&nbsp;&nbsp;&nbsp;resultado = a \/ b if b != 0 else float('nan')\n\n&nbsp;&nbsp;&nbsp;&nbsp;return resultado\n\nresultado1 = dividir(10, 2)\n\nresultado2 = dividir(10, 0)\n\nprint(resultado1)&nbsp; # Sa\u00edda: 5.0\n\nprint(resultado2)&nbsp; # Sa\u00edda: NaN (valor padr\u00e3o)<\/code><\/pre>\n\n\n\n<p><strong>A segunda estrat\u00e9gia consiste em substituir o NaN por um valor apropriado, que fa\u00e7a sentido para o contexto do c\u00e1lculo.<\/strong> Por exemplo, ao calcular a raiz quadrada de um n\u00famero negativo, em vez de retornar o NaN, podemos substituir pelo valor zero, indicando que n\u00e3o h\u00e1 raiz real para o n\u00famero negativo.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>import math\n\ndef calcular_raiz_quadrada(numero):\n\n&nbsp;&nbsp;&nbsp;&nbsp;return math.sqrt(numero) if numero &gt;= 0 else 0\n\nnumero1 = 9\n\nnumero2 = -4\n\nresultado1 = calcular_raiz_quadrada(numero1)\n\nresultado2 = calcular_raiz_quadrada(numero2)\n\nprint(resultado1)&nbsp; # Sa\u00edda: 3.0\n\nprint(resultado2)&nbsp; # Sa\u00edda: 0 (substitui\u00e7\u00e3o)<\/code><\/pre>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Ignorando_NaN_em_calculos_estatisticos_com_Numpy\"><\/span>Ignorando NaN em c\u00e1lculos estat\u00edsticos com Numpy<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p><strong>Quando lidamos com c\u00e1lculos estat\u00edsticos em Python, \u00e9 comum termos conjuntos de dados que cont\u00eam valores NaN.<\/strong> Recomenda-se ignorar os valores NaN durante as opera\u00e7\u00f5es estat\u00edsticas para evitar interfer\u00eancias nos c\u00e1lculos.<\/p>\n\n\n\n<p>A biblioteca <strong>Numpy <\/strong>oferece uma forma simples e eficiente de lidar com esse cen\u00e1rio. Portanto, podemos utilizar a fun\u00e7\u00e3o <strong><code>numpy.mean()<\/code><\/strong> para calcular a m\u00e9dia de um conjunto de dados, ignorando automaticamente os valores NaN presentes.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>import numpy as np\n\ndados = &#091;1, 2, 3, float('nan'), 5, 6, 7, float('nan'), 9]\n\ndados_sem_nan = &#091;x for x in dados if not math.isnan(x)]\n\nmedia = np.mean(dados_sem_nan)\n\nprint(media)&nbsp; # Sa\u00edda: 4.6 (m\u00e9dia ignorando os NaN)<\/code><\/pre>\n\n\n\n<p>Dessa forma, ao utilizar a biblioteca Numpy e a fun\u00e7\u00e3o<strong> <code>numpy.mean()<\/code><\/strong>, garantimos que os c\u00e1lculos estat\u00edsticos sejam realizados corretamente, sem a interfer\u00eancia de valores inv\u00e1lidos ou indefinidos representados pelo NaN.<\/p>\n\n\n\n<p>Utilizando essas estrat\u00e9gias, ent\u00e3o, podemos lidar de forma mais eficiente e confi\u00e1vel com o NaN em Python, garantindo resultados coerentes e evitando comportamentos inesperados em nossas an\u00e1lises e opera\u00e7\u00f5es matem\u00e1ticas.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Exemplos_de_NaN_Python\"><\/span>Exemplos de NaN Python<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p>Aqui est\u00e3o alguns exemplos de como o NaN \u00e9 representado e usado em Python:<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"1_Criando_um_valor_NaN\"><\/span>1. Criando um valor NaN<span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<pre class=\"wp-block-code\"><code>import math\n\nvalor_nan = float('nan')\n\nprint(valor_nan)&nbsp; # Sa\u00edda: NaN<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"2_Realizando_operacoes_invalidas\"><\/span>2. Realizando opera\u00e7\u00f5es inv\u00e1lidas<span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<pre class=\"wp-block-code\"><code>resultado = 0 \/ 0\n\nprint(resultado)&nbsp; # Sa\u00edda: NaN<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"3_Calculando_a_raiz_quadrada_de_um_numero_negativo\"><\/span>3. Calculando a raiz quadrada de um n\u00famero negativo<span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<pre class=\"wp-block-code\"><code>numero_negativo = -1\n\nraiz_quadrada = math.sqrt(numero_negativo)\n\nprint(raiz_quadrada)&nbsp; # Sa\u00edda: NaN<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"4_Convertendo_uma_string_invalida_para_um_valor_numerico\"><\/span>4. Convertendo uma string inv\u00e1lida para um valor num\u00e9rico<span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<pre class=\"wp-block-code\"><code>texto_invalido = \"Ol\u00e1, mundo!\"\n\nnumero_convertido = float(texto_invalido)\n\nprint(numero_convertido)&nbsp; # Sa\u00edda: NaN<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"5_Utilizando_o_NaN_em_calculos_matematicos\"><\/span>5. Utilizando o NaN em c\u00e1lculos matem\u00e1ticos<span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<pre class=\"wp-block-code\"><code>numero1 = 10\n\nnumero2 = float('nan')\n\nsoma = numero1 + numero2\n\nmultiplicacao = numero1 * numero2\n\nprint(soma)&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; # Sa\u00edda: NaN\n\nprint(multiplicacao)&nbsp; # Sa\u00edda: NaN<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"6_Verificando_se_um_valor_e_NaN\"><\/span>6. Verificando se um valor \u00e9 NaN:<span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<pre class=\"wp-block-code\"><code>import math\n\nmeu_numero = float('nan')\n\nif math.isnan(meu_numero):\n\n&nbsp;&nbsp;&nbsp;&nbsp;print(\"O n\u00famero \u00e9 NaN\")\n\nelse:\n\n&nbsp;&nbsp;&nbsp;&nbsp;print(\"O n\u00famero n\u00e3o \u00e9 NaN\")<\/code><\/pre>\n\n\n\n<p>O NaN tem utilidade ao representar valores num\u00e9ricos indefinidos ou inv\u00e1lidos. As pessoas usam ele em c\u00e1lculos matem\u00e1ticos quando precisam dividir por zero, extrair a raiz quadrada de n\u00fameros negativos ou fazer convers\u00f5es de tipos inv\u00e1lidas.<\/p>\n\n\n\n<p>Ent\u00e3o, \u00e9 importante saber como detectar e lidar com o NaN adequadamente para evitar resultados inesperados em suas opera\u00e7\u00f5es matem\u00e1ticas e an\u00e1lise de dados.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Praticas_recomendadas_para_lidar_com_NaN_Python\"><\/span>Pr\u00e1ticas recomendadas para lidar com NaN Python&nbsp;<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<ol class=\"wp-block-list\">\n<li>Sempre verifique se um valor \u00e9 NaN antes de utiliz\u00e1-lo em c\u00e1lculos;<\/li>\n\n\n\n<li>Utilize valores padr\u00e3o ou substitua NaN por valores que fa\u00e7am sentido para sua aplica\u00e7\u00e3o;<\/li>\n\n\n\n<li>Ao realizar opera\u00e7\u00f5es estat\u00edsticas ou an\u00e1lise de dados, considere a exclus\u00e3o dos valores NaN para obter resultados mais precisos;<\/li>\n\n\n\n<li>Evite a compara\u00e7\u00e3o direta com NaN, utilize a fun\u00e7\u00e3o <strong><code>math.isnan()<\/code><\/strong> para fazer a verifica\u00e7\u00e3o correta;<\/li>\n\n\n\n<li>Caso esteja trabalhando com dados estruturados, considere o uso de bibliotecas como Pandas, que possui fun\u00e7\u00f5es espec\u00edficas para lidar com NaN de forma eficiente.<\/li>\n<\/ol>\n\n\n\n<p>Ao lidar com NaN adequadamente, voc\u00ea garante que suas opera\u00e7\u00f5es matem\u00e1ticas s\u00e3o realizadas corretamente e evita comportamentos inesperados em sua aplica\u00e7\u00e3o.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"O_porque_do_NaN\"><\/span>O porqu\u00ea do NaN<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p>Matematicamente, algo como uma divis\u00e3o 0\/0 ou 1\/0 nos leva a uma situa\u00e7\u00e3o chamada \u201cindetermina\u00e7\u00e3o matem\u00e1tica\u201d, onde o valor \u00e9 grande demais para mensurar.&nbsp;<\/p>\n\n\n\n<p>Ele tende ao infinito, mas na computa\u00e7\u00e3o, ele fica limitado \u00e0 quantidade de mem\u00f3ria dispon\u00edvel. Por isso que, ao gerar valores que s\u00e3o maiores que a quantidade de mem\u00f3ria dispon\u00edvel, temos um NaN.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"O_NaN_em_outras_linguagens\"><\/span>O NaN em outras linguagens<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<h3 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"JavaScript\"><\/span>JavaScript<span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<p><strong>Em JavaScript, o valor NaN \u00e9 uma propriedade global do objeto &#8220;Number&#8221;.<\/strong> \u00c9 retornado quando uma opera\u00e7\u00e3o matem\u00e1tica n\u00e3o pode produzir um valor num\u00e9rico v\u00e1lido. Para verificar se um valor \u00e9 NaN, voc\u00ea pode usar a fun\u00e7\u00e3o <strong><code>\"isNaN()\"<\/code><\/strong>.&nbsp;<\/p>\n\n\n\n<p>Exemplo:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>let result = Math.sqrt(-1);\n\nconsole.log(isNaN(result)); \/\/ true<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"C\"><\/span>C++<span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<p><strong>Em C++, o valor NaN \u00e9 representado pelo tipo<\/strong> <strong><code>\"std::numeric_limits&lt;double&gt;::quiet_NaN()\"<\/code>.<\/strong>&nbsp;<\/p>\n\n\n\n<p>Para verificar se um valor \u00e9 NaN, voc\u00ea pode usar a fun\u00e7\u00e3o <code><strong>\"std::isnan()<\/strong>\"<\/code>. No entanto, essas funcionalidades est\u00e3o dispon\u00edveis a partir do C++11.&nbsp;<\/p>\n\n\n\n<p>Exemplo:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>#include &lt;iostream&gt;\n\n#include &lt;cmath&gt;\n\n#include &lt;limits&gt;\n\nint main() {\n\ndouble result = std::sqrt(-1);\n\nstd::cout &lt;&lt; std::isnan(result) &lt;&lt; std::endl; \/\/ 1 (representando true)\n\nreturn 0;\n\n}<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Java\"><\/span>Java<span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<p>Em Java, o valor NaN \u00e9 representado pelo m\u00e9todo <strong>&#8220;Double.NaN&#8221;<\/strong>. A classe &#8220;Double&#8221; possui um m\u00e9todo est\u00e1tico <strong>&#8220;isNaN()<\/strong>&#8221; para verificar se um valor \u00e9 NaN. Exemplo:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>double result = Math.sqrt(-1);\n\nSystem.out.println(Double.isNaN(result)); \/\/ true<\/code><\/pre>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Uso_de_NaN_em_Pandas_e_Numpy_para_analise_de_dados\"><\/span>Uso de NaN em Pandas e Numpy para an\u00e1lise de dados<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p><strong>As bibliotecas Pandas e Numpy s\u00e3o amplamente usadas para an\u00e1lise de dados em Python.<\/strong> Assim, ambas t\u00eam suporte nativo para trabalhar com valores NaN, permitindo lidar eficientemente com dados ausentes ou indefinidos em conjuntos de dados.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Em_Pandas\"><\/span>Em Pandas<span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong>Representa\u00e7\u00e3o de NaN:<\/strong> Em <a href=\"https:\/\/pandas.pydata.org\/\" target=\"_blank\" rel=\"noreferrer noopener\">Pandas<\/a>, NaN \u00e9 um valor de ponto flutuante especial, semelhante ao Numpy;<\/li>\n\n\n\n<li><strong>Detec\u00e7\u00e3o de NaN:<\/strong> Pandas fornece m\u00e9todos \u00fateis para verificar se um valor \u00e9 NaN, como <strong><code>\"isna()\"<\/code><\/strong> e <strong><code>\"isnull()\"<\/code><\/strong>, que retornam uma <a href=\"https:\/\/acervolima.com\/indexacao-booleana-em-pandas\/\" target=\"_blank\" rel=\"noreferrer noopener\">m\u00e1scara booleana<\/a>;<\/li>\n\n\n\n<li><strong>Tratamento de NaN:<\/strong> Pandas oferece op\u00e7\u00f5es como <strong><code>\"dropna()\"<\/code><\/strong> para remover linhas ou colunas com NaN, <strong><code>\"fillna()\"<\/code><\/strong> para preencher valores ausentes ou &#8220;interpolate()&#8221; para interpola\u00e7\u00e3o linear dos valores NaN com base nos vizinhos.<\/li>\n<\/ol>\n\n\n\n<h3 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Em_Numpy\"><\/span>Em Numpy<span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong>Representa\u00e7\u00e3o de NaN:<\/strong> Em <a href=\"https:\/\/numpy.org\/\" target=\"_blank\" rel=\"noreferrer noopener\">Numpy<\/a>, NaN \u00e9 representado pela constante <strong><code>\"numpy.nan\"<\/code><\/strong>, do tipo <strong><code>\"numpy.float64\"<\/code><\/strong>;<\/li>\n\n\n\n<li><strong>Detec\u00e7\u00e3o de NaN:<\/strong> Pode-se usar <strong><code>\"numpy.isnan()\"<\/code><\/strong> para verificar quais elementos s\u00e3o NaN em um array;<\/li>\n\n\n\n<li><strong>Tratamento de NaN:<\/strong> Numpy oferece <strong><code>\"numpy.nan_to_num()\"<\/code><\/strong> para substituir NaN por zero, e <code><strong>\"numpy.nanmean()\" e \"numpy.nanstd()\"<\/strong><\/code> para calcular m\u00e9dia e desvio padr\u00e3o ignorando NaN.<\/li>\n<\/ol>\n\n\n\n<h3 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Exemplo_de_uso_em_Pandas\"><\/span>Exemplo de uso em Pandas<span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<pre class=\"wp-block-code\"><code>import pandas as pd\n\n# Criando DataFrame com NaN\n\ndata = {'A': &#091;1, 2, None, 4],\n\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'B': &#091;5, None, 7, 8]}\n\ndf = pd.DataFrame(data)\n\n# Verificando quais valores s\u00e3o NaN\n\nprint(df.isna())\n\n# Removendo linhas com NaN\n\ndf_cleaned = df.dropna()\n\n# Preenchendo NaN com valor espec\u00edfico\n\ndf_filled = df.fillna(0)<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Exemplo_de_uso_em_Numpy\"><\/span>Exemplo de uso em Numpy<span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<pre class=\"wp-block-code\"><code>import numpy as np\n\n# Criando array com NaN\n\narr = np.array(&#091;1, 2, np.nan, 4])\n\n# Verificando quais elementos s\u00e3o NaN\n\nprint(np.isnan(arr))\n\n# Substituindo NaN por zero\n\narr_cleaned = np.nan_to_num(arr)\n\n# Calculando a m\u00e9dia ignorando os valores NaN\n\nmean = np.nanmean(arr)<\/code><\/pre>\n\n\n\n<p><strong>Assim, nessas bibliotecas, \u00e9 essencial usar NaN adequadamente. <\/strong>Isso permite lidar eficientemente com dados ausentes ou indefinidos durante a an\u00e1lise.<\/p>\n\n\n\n<p>Com essas funcionalidades, \u00e9 poss\u00edvel realizar tratamentos espec\u00edficos para evitar problemas com valores faltantes e obter resultados coerentes em an\u00e1lises estat\u00edsticas.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Conclusao\"><\/span>Conclus\u00e3o<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p><strong>Em suma, o NaN (Not a Number) em Python \u00e9 um valor especial usado para representar resultados inv\u00e1lidos ou indefinidos em opera\u00e7\u00f5es matem\u00e1ticas. <\/strong>\u00c9 \u00fatil em situa\u00e7\u00f5es onde c\u00e1lculos podem gerar valores n\u00e3o num\u00e9ricos, como divis\u00f5es por zero ou opera\u00e7\u00f5es com valores inv\u00e1lidos.&nbsp;<\/p>\n\n\n\n<p>O m\u00f3dulo <code><strong>\"math\"<\/strong> <\/code>em Python possui a representa\u00e7\u00e3o do NaN e a fun\u00e7\u00e3o <strong><code>\"math.isnan()\"<\/code><\/strong> para verificar se um valor \u00e9 NaN.<\/p>\n\n\n\n<p><strong>Quando lidamos com o NaN em Python, devemos seguir pr\u00e1ticas recomendadas. Sempre verifique se um valor \u00e9 NaN antes de us\u00e1-lo em c\u00e1lculos.<\/strong> Considere utilizar valores padr\u00e3o ou substitui\u00e7\u00e3o adequada para evitar resultados inesperados. Nas opera\u00e7\u00f5es estat\u00edsticas, n\u00f3s precisamos ignorar os valores NaN. Isso nos ajuda a obter resultados mais precisos.<\/p>\n\n\n\n<p>Portanto, em Python, o uso adequado do NaN garante opera\u00e7\u00f5es matem\u00e1ticas corretas e evita comportamentos inesperados em an\u00e1lises e aplica\u00e7\u00f5es. \u00c9 essencial compreender o conceito do NaN, detect\u00e1-lo e trat\u00e1-lo para obter resultados coerentes em atividades com n\u00fameros em Python.&nbsp;<\/p>\n\n\n\n<p>Bibliotecas como Pandas e Numpy, ent\u00e3o, oferecem fun\u00e7\u00f5es espec\u00edficas para lidar com o NaN de forma mais eficiente em cen\u00e1rios de dados estruturados e c\u00e1lculos estat\u00edsticos.<\/p>\n\n\n\n<p>Portanto, ao adotar as pr\u00e1ticas recomendadas e entender o conceito do NaN em Python, voc\u00ea poder\u00e1 realizar opera\u00e7\u00f5es matem\u00e1ticas com maior confian\u00e7a, evitando problemas de indefini\u00e7\u00e3o e obtendo resultados coerentes em suas aplica\u00e7\u00f5es.<\/p>\n\n\n\n<p>Se voc\u00ea deseja aprender mais sobre Python, considere ler outros de nossos artigos, como <a href=\"https:\/\/www.homehost.com.br\/blog\/pythondjango\/python-while\/\" target=\"_blank\" rel=\"noreferrer noopener\">Python while: o guia completo para a execu\u00e7\u00e3o repetitiva<\/a>, por exemplo.<\/p>\n\n\n\n<p>Assim sendo, como sabemos que conhecimento nunca \u00e9 demais, visite mais do nosso blog e aprenda sobre Python, JavaScript e outras linguagens \u00fateis.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Neste texto, abordaremos o conceito de NaN Python, explorando sua teoria e pr\u00e1tica. O NaN \u00e9 um valor especial utilizado para representar resultados inv\u00e1lidos ou indefinidos em opera\u00e7\u00f5es matem\u00e1ticas.&nbsp; Veremos como detect\u00e1-lo e tamb\u00e9m discutiremos pr\u00e1ticas recomendadas para lidar com valores indefinidos em c\u00e1lculos matem\u00e1ticos.&nbsp; Ao entender o conceito do NaN e aplicar estrat\u00e9gias adequadas, [&hellip;]<\/p>\n","protected":false},"author":31,"featured_media":10436,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_helpful_status":1,"_lmt_disableupdate":"","_lmt_disable":"","_jetpack_memberships_contains_paid_content":false,"footnotes":""},"categories":[211],"tags":[],"class_list":["post-10435","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-pythondjango"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v24.6 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Nan Python: teoria e pr\u00e1tica | Homehost<\/title>\n<meta name=\"description\" content=\"Aprenda o conceito de NaN Python: um valor especial utilizado para representar resultados inv\u00e1lidos ou indefinidos em opera\u00e7\u00f5es matem\u00e1ticas.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.homehost.com.br\/blog\/pythondjango\/nan-python\/\" \/>\n<meta property=\"og:locale\" content=\"pt_BR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Nan Python: teoria e pr\u00e1tica | Homehost\" \/>\n<meta property=\"og:description\" content=\"Aprenda o conceito de NaN Python: um valor especial utilizado para representar resultados inv\u00e1lidos ou indefinidos em opera\u00e7\u00f5es matem\u00e1ticas.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.homehost.com.br\/blog\/pythondjango\/nan-python\/\" \/>\n<meta property=\"og:site_name\" content=\"Homehost\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/Homehost\/\" \/>\n<meta property=\"article:published_time\" content=\"2023-08-06T12:48:46+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2024-04-12T21:55:15+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.homehost.com.br\/blog\/wp-content\/uploads\/2023\/08\/04.08.png\" \/>\n\t<meta property=\"og:image:width\" content=\"1260\" \/>\n\t<meta property=\"og:image:height\" content=\"630\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"Daiana S\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@Homehost\" \/>\n<meta name=\"twitter:site\" content=\"@Homehost\" \/>\n<meta name=\"twitter:label1\" content=\"Escrito por\" \/>\n\t<meta name=\"twitter:data1\" content=\"Daiana S\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. tempo de leitura\" \/>\n\t<meta name=\"twitter:data2\" content=\"10 minutos\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.homehost.com.br\/blog\/pythondjango\/nan-python\/\",\"url\":\"https:\/\/www.homehost.com.br\/blog\/pythondjango\/nan-python\/\",\"name\":\"Nan Python: teoria e pr\u00e1tica | Homehost\",\"isPartOf\":{\"@id\":\"https:\/\/www.homehost.com.br\/blog\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/www.homehost.com.br\/blog\/pythondjango\/nan-python\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/www.homehost.com.br\/blog\/pythondjango\/nan-python\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.homehost.com.br\/blog\/wp-content\/uploads\/2023\/08\/04.08.png\",\"datePublished\":\"2023-08-06T12:48:46+00:00\",\"dateModified\":\"2024-04-12T21:55:15+00:00\",\"author\":{\"@id\":\"https:\/\/www.homehost.com.br\/blog\/#\/schema\/person\/eb90cb369d7098d6d85fa96c78ea1689\"},\"description\":\"Aprenda o conceito de NaN Python: um valor especial utilizado para representar resultados inv\u00e1lidos ou indefinidos em opera\u00e7\u00f5es matem\u00e1ticas.\",\"breadcrumb\":{\"@id\":\"https:\/\/www.homehost.com.br\/blog\/pythondjango\/nan-python\/#breadcrumb\"},\"inLanguage\":\"pt-BR\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.homehost.com.br\/blog\/pythondjango\/nan-python\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"pt-BR\",\"@id\":\"https:\/\/www.homehost.com.br\/blog\/pythondjango\/nan-python\/#primaryimage\",\"url\":\"https:\/\/www.homehost.com.br\/blog\/wp-content\/uploads\/2023\/08\/04.08.png\",\"contentUrl\":\"https:\/\/www.homehost.com.br\/blog\/wp-content\/uploads\/2023\/08\/04.08.png\",\"width\":1260,\"height\":630,\"caption\":\"Nan Python: teoria e pr\u00e1tica\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.homehost.com.br\/blog\/pythondjango\/nan-python\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"In\u00edcio\",\"item\":\"https:\/\/www.homehost.com.br\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Nan Python: teoria e pr\u00e1tica\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.homehost.com.br\/blog\/#website\",\"url\":\"https:\/\/www.homehost.com.br\/blog\/\",\"name\":\"Homehost\",\"description\":\"Hospedagem De Sites\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/www.homehost.com.br\/blog\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"pt-BR\"},{\"@type\":\"Person\",\"@id\":\"https:\/\/www.homehost.com.br\/blog\/#\/schema\/person\/eb90cb369d7098d6d85fa96c78ea1689\",\"name\":\"Daiana S\",\"description\":\"Graduada em Letras pelo Instituto Federal da Para\u00edba e especializada em reda\u00e7\u00e3o geral. Gosto de escrever sobre tudo e me dedico em v\u00e1rios n\u00edveis de expressividade. No geral, todos os meus hobbies giram em torno de escrever alguma coisa e fazer isso bem. Contato: daiana.blog@homehost.com.br\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Nan Python: teoria e pr\u00e1tica | Homehost","description":"Aprenda o conceito de NaN Python: um valor especial utilizado para representar resultados inv\u00e1lidos ou indefinidos em opera\u00e7\u00f5es matem\u00e1ticas.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.homehost.com.br\/blog\/pythondjango\/nan-python\/","og_locale":"pt_BR","og_type":"article","og_title":"Nan Python: teoria e pr\u00e1tica | Homehost","og_description":"Aprenda o conceito de NaN Python: um valor especial utilizado para representar resultados inv\u00e1lidos ou indefinidos em opera\u00e7\u00f5es matem\u00e1ticas.","og_url":"https:\/\/www.homehost.com.br\/blog\/pythondjango\/nan-python\/","og_site_name":"Homehost","article_publisher":"https:\/\/www.facebook.com\/Homehost\/","article_published_time":"2023-08-06T12:48:46+00:00","article_modified_time":"2024-04-12T21:55:15+00:00","og_image":[{"width":1260,"height":630,"url":"https:\/\/www.homehost.com.br\/blog\/wp-content\/uploads\/2023\/08\/04.08.png","type":"image\/png"}],"author":"Daiana S","twitter_card":"summary_large_image","twitter_creator":"@Homehost","twitter_site":"@Homehost","twitter_misc":{"Escrito por":"Daiana S","Est. tempo de leitura":"10 minutos"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/www.homehost.com.br\/blog\/pythondjango\/nan-python\/","url":"https:\/\/www.homehost.com.br\/blog\/pythondjango\/nan-python\/","name":"Nan Python: teoria e pr\u00e1tica | Homehost","isPartOf":{"@id":"https:\/\/www.homehost.com.br\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.homehost.com.br\/blog\/pythondjango\/nan-python\/#primaryimage"},"image":{"@id":"https:\/\/www.homehost.com.br\/blog\/pythondjango\/nan-python\/#primaryimage"},"thumbnailUrl":"https:\/\/www.homehost.com.br\/blog\/wp-content\/uploads\/2023\/08\/04.08.png","datePublished":"2023-08-06T12:48:46+00:00","dateModified":"2024-04-12T21:55:15+00:00","author":{"@id":"https:\/\/www.homehost.com.br\/blog\/#\/schema\/person\/eb90cb369d7098d6d85fa96c78ea1689"},"description":"Aprenda o conceito de NaN Python: um valor especial utilizado para representar resultados inv\u00e1lidos ou indefinidos em opera\u00e7\u00f5es matem\u00e1ticas.","breadcrumb":{"@id":"https:\/\/www.homehost.com.br\/blog\/pythondjango\/nan-python\/#breadcrumb"},"inLanguage":"pt-BR","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.homehost.com.br\/blog\/pythondjango\/nan-python\/"]}]},{"@type":"ImageObject","inLanguage":"pt-BR","@id":"https:\/\/www.homehost.com.br\/blog\/pythondjango\/nan-python\/#primaryimage","url":"https:\/\/www.homehost.com.br\/blog\/wp-content\/uploads\/2023\/08\/04.08.png","contentUrl":"https:\/\/www.homehost.com.br\/blog\/wp-content\/uploads\/2023\/08\/04.08.png","width":1260,"height":630,"caption":"Nan Python: teoria e pr\u00e1tica"},{"@type":"BreadcrumbList","@id":"https:\/\/www.homehost.com.br\/blog\/pythondjango\/nan-python\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"In\u00edcio","item":"https:\/\/www.homehost.com.br\/blog\/"},{"@type":"ListItem","position":2,"name":"Nan Python: teoria e pr\u00e1tica"}]},{"@type":"WebSite","@id":"https:\/\/www.homehost.com.br\/blog\/#website","url":"https:\/\/www.homehost.com.br\/blog\/","name":"Homehost","description":"Hospedagem De Sites","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.homehost.com.br\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"pt-BR"},{"@type":"Person","@id":"https:\/\/www.homehost.com.br\/blog\/#\/schema\/person\/eb90cb369d7098d6d85fa96c78ea1689","name":"Daiana S","description":"Graduada em Letras pelo Instituto Federal da Para\u00edba e especializada em reda\u00e7\u00e3o geral. Gosto de escrever sobre tudo e me dedico em v\u00e1rios n\u00edveis de expressividade. No geral, todos os meus hobbies giram em torno de escrever alguma coisa e fazer isso bem. Contato: daiana.blog@homehost.com.br"}]}},"modified_by":"Daiana S","jetpack_featured_media_url":"https:\/\/www.homehost.com.br\/blog\/wp-content\/uploads\/2023\/08\/04.08.png","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/www.homehost.com.br\/blog\/wp-json\/wp\/v2\/posts\/10435","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.homehost.com.br\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.homehost.com.br\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.homehost.com.br\/blog\/wp-json\/wp\/v2\/users\/31"}],"replies":[{"embeddable":true,"href":"https:\/\/www.homehost.com.br\/blog\/wp-json\/wp\/v2\/comments?post=10435"}],"version-history":[{"count":6,"href":"https:\/\/www.homehost.com.br\/blog\/wp-json\/wp\/v2\/posts\/10435\/revisions"}],"predecessor-version":[{"id":13948,"href":"https:\/\/www.homehost.com.br\/blog\/wp-json\/wp\/v2\/posts\/10435\/revisions\/13948"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.homehost.com.br\/blog\/wp-json\/wp\/v2\/media\/10436"}],"wp:attachment":[{"href":"https:\/\/www.homehost.com.br\/blog\/wp-json\/wp\/v2\/media?parent=10435"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.homehost.com.br\/blog\/wp-json\/wp\/v2\/categories?post=10435"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.homehost.com.br\/blog\/wp-json\/wp\/v2\/tags?post=10435"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}