Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

Duvida em [~selecao]

Olá, tudo bem? Fiz um data frame de exemplo e consultei registros nos quais a variável altura é NaN. Código de consulta:

altura_nan= dataframe.query('Altura=="NaN"')

Nome do data frame: dataframe.

Nome da variável: Altura.

E chamei essa consulta de altura_nan.

Apareceu somente 1 registro, que corresponde corretamente.

Quis remover esse único registro do meu data frame fazendo:

dataframe=dataframe[~altura_nan]

Entretanto, apareceu a seguinte mensagem:

TypeError Traceback (most recent call last) in ----> 1 dataframe= dataframe[~altura_nan]

~\anaconda3\lib\site-packages\pandas\core\generic.py in invert(self) 1471 return self 1472 -> 1473 new_data = self.data.apply(operator.invert) 1474 result = self.constructor(new_data).finalize(self) 1475 return result

~\anaconda3\lib\site-packages\pandas\core\internals\managers.py in apply(self, f, filter, kwargs) 438 439 if callable(f): --> 440 applied = b.apply(f, **kwargs) 441 else: 442 applied = getattr(b, f)(kwargs)

~\anaconda3\lib\site-packages\pandas\core\internals\blocks.py in apply(self, func, *kwargs) 388 """ 389 with np.errstate(all="ignore"): --> 390 result = func(self.values, *kwargs) 391 392 if is_extension_array_dtype(result) and result.ndim > 1:

TypeError: bad operand type for unary ~: 'str'

Não sei o que fazer, me ajudem ;(

Aguardo atenciosamente ;)

1 resposta
solução!

Para lidar com NAs, sugiro usar as funções prontas que são comumente usadas para isso, como .isnull() ou .dropna().

Ex:

df.isnull().sum()     
    #para ver as somas de NAs por variável.
df = df.dropna()
    #para sobrescrever  o dataframe ficando com os valores não nulos.