{"id":829,"date":"2023-07-28T14:58:44","date_gmt":"2023-07-28T14:58:44","guid":{"rendered":"https:\/\/statorials.org\/pt\/remover-valores-discrepantes-python\/"},"modified":"2023-07-28T14:58:44","modified_gmt":"2023-07-28T14:58:44","slug":"remover-valores-discrepantes-python","status":"publish","type":"post","link":"https:\/\/statorials.org\/pt\/remover-valores-discrepantes-python\/","title":{"rendered":"Como remover valores discrepantes em python"},"content":{"rendered":"<p><\/p>\n<hr>\n<p><span style=\"color: #000000;\">Um <strong>outlier<\/strong> \u00e9 uma observa\u00e7\u00e3o anormalmente distante de outros valores em um conjunto de dados. Valores discrepantes podem ser problem\u00e1ticos porque podem afetar os resultados de uma an\u00e1lise.<\/span><\/p>\n<p> <span style=\"color: #000000;\">Este tutorial explica como identificar e remover valores discrepantes em Python.<\/span><\/p>\n<h3> <span style=\"color: #000000;\"><strong>Como identificar valores discrepantes em Python<\/strong><\/span><\/h3>\n<p> <span style=\"color: #000000;\">Antes de remover valores discrepantes, voc\u00ea deve primeiro decidir o que considera ser um valor discrepante. Existem duas maneiras comuns de fazer isso:<\/span><\/p>\n<p> <span style=\"color: #000000;\"><strong>1. Use o intervalo interquartil.<\/strong><\/span><\/p>\n<p> <span style=\"color: #000000;\">O intervalo interquartil (IQR) \u00e9 a diferen\u00e7a entre o percentil 75 (Q3) e o percentil 25 (Q1) em um conjunto de dados. Mede a distribui\u00e7\u00e3o da m\u00e9dia de 50% dos valores.<\/span><\/p>\n<p> <span style=\"color: #000000;\">Voc\u00ea pode definir uma observa\u00e7\u00e3o como discrepante se ela for 1,5 vezes o intervalo interquartil acima do terceiro quartil (Q3) ou 1,5 vezes o intervalo interquartil abaixo do primeiro quartil (Q1).<\/span><\/p>\n<p> <span style=\"color: #000000;\"><strong>Outliers = Observa\u00e7\u00f5es &gt; Q3 + 1,5*IQR ou Q1 \u2013 1,5*IQR<\/strong><\/span><\/p>\n<p> <span style=\"color: #000000;\"><strong>2. Use pontua\u00e7\u00f5es z.<\/strong><\/span><\/p>\n<p> <span style=\"color: #000000;\">Uma <a href=\"https:\/\/statorials.org\/pt\/pontuacao-z-python\/\" target=\"_blank\" rel=\"noopener\">pontua\u00e7\u00e3o z<\/a> informa quantos desvios padr\u00e3o um determinado valor est\u00e1 da m\u00e9dia. Usamos a seguinte f\u00f3rmula para calcular uma pontua\u00e7\u00e3o z:<\/span><\/p>\n<p> <span style=\"color: #000000;\"><strong>z<\/strong> = (X \u2013 \u03bc) \/ \u03c3<\/span><\/p>\n<p> <span style=\"color: #000000;\">Ouro:<\/span><\/p>\n<ul>\n<li> <span style=\"color: #000000;\">X \u00e9 um \u00fanico valor de dados brutos<\/span><\/li>\n<li> <span style=\"color: #000000;\">\u03bc \u00e9 a m\u00e9dia da popula\u00e7\u00e3o<\/span><\/li>\n<li> <span style=\"color: #000000;\">\u03c3 \u00e9 o desvio padr\u00e3o da popula\u00e7\u00e3o<\/span><\/li>\n<\/ul>\n<p> <span style=\"color: #000000;\">Voc\u00ea pode definir uma observa\u00e7\u00e3o como discrepante se sua pontua\u00e7\u00e3o z for menor que -3 ou maior que 3.<\/span><\/p>\n<p> <span style=\"color: #000000;\"><strong>Outliers = Observa\u00e7\u00f5es com pontua\u00e7\u00f5es z &gt; 3 ou &lt; -3<\/strong><\/span><\/p>\n<h3> <span style=\"color: #000000;\"><strong>Como remover valores discrepantes em Python<\/strong><\/span><\/h3>\n<p> <span style=\"color: #000000;\">Depois de decidir o que voc\u00ea considera discrepante, voc\u00ea pode identific\u00e1-los e remov\u00ea-los de um conjunto de dados. Para ilustrar como fazer isso, usaremos o seguinte DataFrame do pandas:<\/span><\/p>\n<pre style=\"background-color: #ececec; font-size: 15px;\"> <strong><span style=\"color: #107d3f;\">import<\/span> numpy <span style=\"color: #107d3f;\">as<\/span> np\n<span style=\"color: #107d3f;\">import <span style=\"color: #000000;\">pandas<\/span> as <span style=\"color: #000000;\">pd<\/span> \nimport<\/span> scipy.stats <span style=\"color: #107d3f;\">as<\/span> stats\n\n<span style=\"color: #008080;\">#create dataframe with three columns 'A', 'B', 'C'<\/span>\nnp.random.seed(10)\ndata = pd.DataFrame(np.random.randint(0, 10, size=(100, 3)), columns=['A', 'B', 'C'])\n<span style=\"color: #008080;\">\n#view first 10 rows<\/span>\ndata[:10]\n\n           ABC\n0 13.315865 7.152790 -15.454003\n1 -0.083838 6.213360 -7.200856\n2 2.655116 1.085485 0.042914\n3 -1.746002 4.330262 12.030374\n4 -9.650657 10.282741 2.286301\n5 4.451376 -11.366022 1.351369\n6 14.845370 -10.798049 -19.777283\n7 -17.433723 2.660702 23.849673\n8 11.236913 16.726222 0.991492\n9 13.979964 -2.712480 6.132042\n<\/strong><\/pre>\n<p> <span style=\"color: #000000;\">Podemos ent\u00e3o definir e remover valores discrepantes usando o m\u00e9todo z-score ou o m\u00e9todo do intervalo interquartil:<\/span><\/p>\n<p> <span style=\"color: #000000;\"><strong>M\u00e9todo de pontua\u00e7\u00e3o Z:<\/strong><\/span><\/p>\n<pre style=\"background-color: #ececec; font-size: 15px;\"> <strong><span style=\"color: #008080;\">#find absolute value of z-score for each observation<\/span>\nz = np.abs(stats.zscore(data))\n\n<span style=\"color: #008080;\">#only keep rows in dataframe with all z-scores less than absolute value of 3<\/span> \ndata_clean = data[(z&lt;3).all(axis=1)]\n\n<span style=\"color: #008080;\">#find how many rows are left in the dataframe<\/span> \ndata_clean.shape\n\n(99.3)\n<\/strong><\/pre>\n<p> <span style=\"color: #000000;\"><strong>M\u00e9todo de intervalo interquartil:<\/strong><\/span><\/p>\n<pre style=\"background-color: #ececec; font-size: 15px;\"> <strong><span style=\"color: #008080;\">#find Q1, Q3, and interquartile range for each column<\/span>\nQ1 = data.quantile(q=.25)\nQ3 = data.quantile(q=.75)\nIQR = data.apply(stats.iqr)\n\n<span style=\"color: #008080;\">#only keep rows in dataframe that have values within 1.5*IQR of Q1 and Q3<\/span>\ndata_clean = data[~((data &lt; (Q1-1.5*IQR)) | (data &gt; (Q3+1.5*IQR))).any(axis=1)]\n<span style=\"color: #008080;\">\n#find how many rows are left in the dataframe<\/span> \ndata_clean.shape\n\n(89.3)<\/strong><\/pre>\n<p> <span style=\"color: #000000;\">Podemos ver que o m\u00e9todo de pontua\u00e7\u00e3o za identificou e removeu uma observa\u00e7\u00e3o como discrepante, enquanto o m\u00e9todo de intervalo interquartil identificou e removeu 11 observa\u00e7\u00f5es no total como discrepantes.<\/span><\/p>\n<h3> <strong>Quando remover valores discrepantes<\/strong><\/h3>\n<p> <span style=\"color: #000000;\">Se um ou mais valores discrepantes estiverem presentes em seus dados, voc\u00ea dever\u00e1 primeiro garantir que eles n\u00e3o sejam resultado de um erro de entrada de dados. \u00c0s vezes, um indiv\u00edduo simplesmente insere o valor errado dos dados ao salvar os dados.<\/span><\/p>\n<p> <span style=\"color: #000000;\">Se o valor discrepante for o resultado de um erro de entrada de dados, voc\u00ea pode decidir atribuir a ele um novo valor, como<\/span> <a href=\"https:\/\/statorials.org\/pt\/mede-a-tendencia-central\/\" target=\"_blank\" rel=\"noopener\">a m\u00e9dia ou mediana<\/a> <span style=\"color: #000000;\">do conjunto de dados.<\/span><\/p>\n<p> <span style=\"color: #000000;\">Se o valor for realmente at\u00edpico, voc\u00ea poder\u00e1 optar por remov\u00ea-lo se ele tiver um impacto significativo em sua an\u00e1lise geral. Apenas certifique-se de mencionar em seu relat\u00f3rio ou an\u00e1lise final que voc\u00ea removeu um valor discrepante.<\/span><\/p>\n<h3> <span style=\"color: #000000;\"><strong>Recursos adicionais<\/strong><\/span><\/h3>\n<p> <span style=\"color: #000000;\">Se voc\u00ea estiver trabalhando com m\u00faltiplas vari\u00e1veis ao mesmo tempo, voc\u00ea pode usar <a href=\"https:\/\/statorials.org\/pt\/mahalanobis-python-remoto\/\" target=\"_blank\" rel=\"noopener\">a dist\u00e2ncia de Mahalanobis<\/a> para detectar valores discrepantes.<\/span><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Um outlier \u00e9 uma observa\u00e7\u00e3o anormalmente distante de outros valores em um conjunto de dados. Valores discrepantes podem ser problem\u00e1ticos porque podem afetar os resultados de uma an\u00e1lise. Este tutorial explica como identificar e remover valores discrepantes em Python. Como identificar valores discrepantes em Python Antes de remover valores discrepantes, voc\u00ea deve primeiro decidir o [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[11],"tags":[],"class_list":["post-829","post","type-post","status-publish","format-standard","hentry","category-guia"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v21.5 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Como remover outliers em Python \u2013 Estatologia<\/title>\n<meta name=\"description\" content=\"Uma explica\u00e7\u00e3o simples sobre como identificar e remover valores discrepantes em Python.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/statorials.org\/pt\/remover-valores-discrepantes-python\/\" \/>\n<meta property=\"og:locale\" content=\"pt_PT\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Como remover outliers em Python \u2013 Estatologia\" \/>\n<meta property=\"og:description\" content=\"Uma explica\u00e7\u00e3o simples sobre como identificar e remover valores discrepantes em Python.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/statorials.org\/pt\/remover-valores-discrepantes-python\/\" \/>\n<meta property=\"og:site_name\" content=\"Statorials\" \/>\n<meta property=\"article:published_time\" content=\"2023-07-28T14:58:44+00:00\" \/>\n<meta name=\"author\" content=\"Dr. benjamim anderson\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Escrito por\" \/>\n\t<meta name=\"twitter:data1\" content=\"Dr. benjamim anderson\" \/>\n\t<meta name=\"twitter:label2\" content=\"Tempo estimado de leitura\" \/>\n\t<meta name=\"twitter:data2\" content=\"3 minutos\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\/\/statorials.org\/pt\/remover-valores-discrepantes-python\/\",\"url\":\"https:\/\/statorials.org\/pt\/remover-valores-discrepantes-python\/\",\"name\":\"Como remover outliers em Python \u2013 Estatologia\",\"isPartOf\":{\"@id\":\"https:\/\/statorials.org\/pt\/#website\"},\"datePublished\":\"2023-07-28T14:58:44+00:00\",\"dateModified\":\"2023-07-28T14:58:44+00:00\",\"author\":{\"@id\":\"https:\/\/statorials.org\/pt\/#\/schema\/person\/e08f98e8db95e0aa9c310e1b27c9c666\"},\"description\":\"Uma explica\u00e7\u00e3o simples sobre como identificar e remover valores discrepantes em Python.\",\"breadcrumb\":{\"@id\":\"https:\/\/statorials.org\/pt\/remover-valores-discrepantes-python\/#breadcrumb\"},\"inLanguage\":\"pt-PT\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/statorials.org\/pt\/remover-valores-discrepantes-python\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/statorials.org\/pt\/remover-valores-discrepantes-python\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Lar\",\"item\":\"https:\/\/statorials.org\/pt\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Como remover valores discrepantes em python\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/statorials.org\/pt\/#website\",\"url\":\"https:\/\/statorials.org\/pt\/\",\"name\":\"Statorials\",\"description\":\"O seu guia para a literacia estat\u00edstica!\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/statorials.org\/pt\/?s={search_term_string}\"},\"query-input\":\"required name=search_term_string\"}],\"inLanguage\":\"pt-PT\"},{\"@type\":\"Person\",\"@id\":\"https:\/\/statorials.org\/pt\/#\/schema\/person\/e08f98e8db95e0aa9c310e1b27c9c666\",\"name\":\"Dr. benjamim anderson\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"pt-PT\",\"@id\":\"https:\/\/statorials.org\/pt\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/statorials.org\/pt\/wp-content\/uploads\/2023\/10\/Dr.-Benjamin-Anderson-96x96.jpg\",\"contentUrl\":\"https:\/\/statorials.org\/pt\/wp-content\/uploads\/2023\/10\/Dr.-Benjamin-Anderson-96x96.jpg\",\"caption\":\"Dr. benjamim anderson\"},\"description\":\"Ol\u00e1, sou Benjamin, um professor aposentado de estat\u00edstica que se tornou professor dedicado na Statorials. Com vasta experi\u00eancia e conhecimento na \u00e1rea de estat\u00edstica, estou empenhado em compartilhar meu conhecimento para capacitar os alunos por meio de Statorials. Saber mais\",\"sameAs\":[\"https:\/\/statorials.org\/pt\"]}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Como remover outliers em Python \u2013 Estatologia","description":"Uma explica\u00e7\u00e3o simples sobre como identificar e remover valores discrepantes em Python.","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:\/\/statorials.org\/pt\/remover-valores-discrepantes-python\/","og_locale":"pt_PT","og_type":"article","og_title":"Como remover outliers em Python \u2013 Estatologia","og_description":"Uma explica\u00e7\u00e3o simples sobre como identificar e remover valores discrepantes em Python.","og_url":"https:\/\/statorials.org\/pt\/remover-valores-discrepantes-python\/","og_site_name":"Statorials","article_published_time":"2023-07-28T14:58:44+00:00","author":"Dr. benjamim anderson","twitter_card":"summary_large_image","twitter_misc":{"Escrito por":"Dr. benjamim anderson","Tempo estimado de leitura":"3 minutos"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/statorials.org\/pt\/remover-valores-discrepantes-python\/","url":"https:\/\/statorials.org\/pt\/remover-valores-discrepantes-python\/","name":"Como remover outliers em Python \u2013 Estatologia","isPartOf":{"@id":"https:\/\/statorials.org\/pt\/#website"},"datePublished":"2023-07-28T14:58:44+00:00","dateModified":"2023-07-28T14:58:44+00:00","author":{"@id":"https:\/\/statorials.org\/pt\/#\/schema\/person\/e08f98e8db95e0aa9c310e1b27c9c666"},"description":"Uma explica\u00e7\u00e3o simples sobre como identificar e remover valores discrepantes em Python.","breadcrumb":{"@id":"https:\/\/statorials.org\/pt\/remover-valores-discrepantes-python\/#breadcrumb"},"inLanguage":"pt-PT","potentialAction":[{"@type":"ReadAction","target":["https:\/\/statorials.org\/pt\/remover-valores-discrepantes-python\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/statorials.org\/pt\/remover-valores-discrepantes-python\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Lar","item":"https:\/\/statorials.org\/pt\/"},{"@type":"ListItem","position":2,"name":"Como remover valores discrepantes em python"}]},{"@type":"WebSite","@id":"https:\/\/statorials.org\/pt\/#website","url":"https:\/\/statorials.org\/pt\/","name":"Statorials","description":"O seu guia para a literacia estat\u00edstica!","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/statorials.org\/pt\/?s={search_term_string}"},"query-input":"required name=search_term_string"}],"inLanguage":"pt-PT"},{"@type":"Person","@id":"https:\/\/statorials.org\/pt\/#\/schema\/person\/e08f98e8db95e0aa9c310e1b27c9c666","name":"Dr. benjamim anderson","image":{"@type":"ImageObject","inLanguage":"pt-PT","@id":"https:\/\/statorials.org\/pt\/#\/schema\/person\/image\/","url":"https:\/\/statorials.org\/pt\/wp-content\/uploads\/2023\/10\/Dr.-Benjamin-Anderson-96x96.jpg","contentUrl":"https:\/\/statorials.org\/pt\/wp-content\/uploads\/2023\/10\/Dr.-Benjamin-Anderson-96x96.jpg","caption":"Dr. benjamim anderson"},"description":"Ol\u00e1, sou Benjamin, um professor aposentado de estat\u00edstica que se tornou professor dedicado na Statorials. Com vasta experi\u00eancia e conhecimento na \u00e1rea de estat\u00edstica, estou empenhado em compartilhar meu conhecimento para capacitar os alunos por meio de Statorials. Saber mais","sameAs":["https:\/\/statorials.org\/pt"]}]}},"yoast_meta":{"yoast_wpseo_title":"","yoast_wpseo_metadesc":"","yoast_wpseo_canonical":""},"_links":{"self":[{"href":"https:\/\/statorials.org\/pt\/wp-json\/wp\/v2\/posts\/829","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/statorials.org\/pt\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/statorials.org\/pt\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/statorials.org\/pt\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/statorials.org\/pt\/wp-json\/wp\/v2\/comments?post=829"}],"version-history":[{"count":0,"href":"https:\/\/statorials.org\/pt\/wp-json\/wp\/v2\/posts\/829\/revisions"}],"wp:attachment":[{"href":"https:\/\/statorials.org\/pt\/wp-json\/wp\/v2\/media?parent=829"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/statorials.org\/pt\/wp-json\/wp\/v2\/categories?post=829"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/statorials.org\/pt\/wp-json\/wp\/v2\/tags?post=829"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}