Python é uma ótima linguagem para fazer análise de dados, principalmente por causa do fantástico ecossistema de pacotes Python centrados em dados. O Pandas é um desses pacotes e torna a importação e análise de dados muito mais fácil.
Ao criar um dataframe a partir de um arquivo csv, muitas colunas em branco são importadas como valor nulo para o dataframe, o que mais tarde cria problemas durante a operação desse dataframe. Os métodos Pandas isnull()
e notnull()
são usados para verificar e gerenciar valores NULL em um dataframe.
Dataframe.isnull()
Sintaxe: Pandas.isnull(“DataFrame Name”) ou DataFrame.isnull()
Parâmetros: objeto para verificar valores nulos
Tipo de retorno: Dataframe de valores booleanos que são verdadeiros para valores NaN
Para baixar o arquivo CSV utilizado, clique aqui.
Exemplo #1: Usando isnull()
No exemplo a seguir, a coluna Team é verificada para valores NULL e uma série booleana é retornada pelo método isnull()
que armazena True para cada valor NaN e False para um valor não nulo.
# importando o pacote pandas import pandas as pd # making data frame from csv file # Criando um dataframe de um arquivo csv data = pd.read_csv("employees.csv") # Criando um serie de valores booleanos # com valor True para valores não nulos bool_series = pd.isnull(data["Team"]) # filtrando dados # mostrando apenas os dados com valores nulos # na coluna Team print(data[bool_series])
Conforme mostrado na saída abaixo, apenas as linhas com Team = NULL são exibidas.
Saída:
First Name Gender Start Date Last Login Time Salary Bonus % Senior Management Team 1 Thomas Male 3/31/1996 6:53 AM 61933 4.170 True NaN 10 Louise Female 8/12/1980 9:01 AM 63241 15.132 True NaN 23 NaN Male 6/14/2012 4:19 PM 125792 5.042 NaN NaN 32 NaN Male 8/21/1998 2:27 PM 122340 6.417 NaN NaN 91 James NaN 1/26/2005 11:00 PM 128771 8.309 False NaN 109 Christopher Male 4/22/2000 10:15 AM 37919 11.449 False NaN 139 NaN Female 10/3/1990 1:08 AM 132373 10.527 NaN NaN 199 Jonathan Male 7/17/2009 8:15 AM 130581 16.736 True NaN 258 Michael Male 1/24/2002 3:04 AM 43586 12.659 False NaN 290 Jeremy Male 6/14/1988 6:20 PM 129460 13.657 True NaN 314 Bobby Male 3/31/1996 5:40 PM 112117 6.338 False NaN 367 Edward Male 8/4/1989 6:06 AM 66067 10.957 True NaN 382 NaN Female 4/18/1996 3:57 PM 107024 12.182 NaN NaN 434 Joyce Female 2/7/1995 7:38 AM 50701 14.227 True NaN 438 Jason Male 11/20/1998 2:54 PM 69244 6.220 True NaN 445 Chris Male 12/12/2006 1:57 AM 71642 1.496 False NaN 479 Richard Male 7/4/1997 11:47 AM 47647 18.787 True NaN 512 Wanda Female 4/6/1993 3:11 AM 78883 19.695 False NaN 513 Jimmy Male 11/19/2013 7:29 PM 63549 19.624 False NaN 520 Peter Male 2/22/2003 9:09 AM 56580 8.411 True NaN 567 NaN Female 4/1/1980 8:04 PM 48141 12.605 NaN NaN 573 Kimberly Female 12/30/1981 4:51 AM 81800 5.435 True NaN 580 Harry Male 1/27/1985 8:18 PM 65482 18.089 False NaN 626 NaN Female 4/13/1997 8:03 AM 131755 2.930 NaN NaN 634 Carl Male 3/30/1987 5:59 PM 75598 19.289 False NaN 635 Randy Male 9/27/2000 3:04 AM 89831 13.047 True NaN 647 Donald Male 4/6/1988 10:00 AM 122920 5.320 False NaN 669 Joseph NaN 3/28/1982 1:05 PM 86564 11.879 True NaN 684 Alice Female 1/21/2016 5:07 PM 117787 10.485 False NaN 706 Todd Male 7/4/1993 6:53 PM 128175 18.473 True NaN 726 Daniel Male 2/29/2016 4:04 AM 77287 13.000 True NaN 753 Antonio Male 6/6/1999 10:54 PM 41928 5.478 True NaN 774 NaN Female 6/18/2000 7:36 AM 106428 10.867 NaN NaN 781 Lawrence Male 7/3/1995 10:55 PM 46378 9.127 False NaN 794 Nicole Female 3/1/2004 5:17 PM 44021 10.286 False NaN 826 NaN NaN 8/1/1988 1:35 AM 87103 5.665 NaN NaN 850 Charles Male 9/3/1997 10:04 AM 148291 6.002 False NaN 851 Bobby Male 8/19/1996 1:16 AM 147842 16.158 True NaN 853 Mildred Female 4/6/2007 10:06 PM 139284 11.390 True NaN 855 Phillip NaN 10/20/2003 11:09 AM 89700 2.277 True NaN 864 Ryan Male 11/16/2012 1:47 PM 57292 6.010 False NaN 912 Joe Male 12/8/1998 10:28 AM 126120 1.020 False NaN 951 NaN Female 9/14/2010 5:19 AM 143638 9.662 NaN NaN
Dataframe.notnull()
Sintaxe: Pandas.notnull("Nome_dataframe") ou DataFrame.notnull()
Parametros: Objeto para verificar valores nulos
Tipo de retorno: Um dataframe de valores booleanos com False para valores NaN
Exemplo #1: Usando notnull()
No exemplo a seguir, a coluna Gênero é verificada para valores NULL e uma série booleana é retornada pelo método notnull()
que armazena True sempre que o valor é não nulo e False para um valor nulo.
# importando o pacote pandas import pandas as pd # making data frame from csv file # Criando um dataframe de um arquivo csv data = pd.read_csv("employees.csv") # Criando uma serie de valores booleanos # com o valor False para valores NaN bool_series = pd.notnull(data["Gender"]) # Mostrando apenas as linhas com Gender != NaN print(data[bool_series])
Conforme mostrado na saída, apenas as linhas com algum valor em Gender são exibidas.
Saída:
First Name Gender Start Date Last Login Time Salary Bonus % Senior Management Team 0 Douglas Male 8/6/1993 12:42 PM 97308 6.945 True Marketing 1 Thomas Male 3/31/1996 6:53 AM 61933 4.170 True NaN 2 Maria Female 4/23/1993 11:17 AM 130590 11.858 False Finance 3 Jerry Male 3/4/2005 1:00 PM 138705 9.340 True Finance 4 Larry Male 1/24/1998 4:47 PM 101004 1.389 True Client Services .. ... ... ... ... ... ... ... ... 994 George Male 6/21/2013 5:47 PM 98874 4.479 True Marketing 996 Phillip Male 1/31/1984 6:30 AM 42392 19.675 False Finance 997 Russell Male 5/20/2013 12:39 PM 96914 1.421 False Product 998 Larry Male 4/20/2013 4:45 PM 60500 11.985 False Business Development 999 Albert Male 5/15/2012 6:24 PM 129949 10.169 True Sales [855 rows x 8 columns]
Artigo escrito por Kartikaybhutani e traduzido por Acervolima de Python | Pandas isnull() and notnull().
0 comentários:
Postar um comentário