dropna - ¿Cómo comparar pandas DataFrame con None en Python?
pandas drop rows with nan in one column (1)
El uso is not
:
if self.pandas_df is not None:
print ''Do stuff''
PEP 8 dice:
Las comparaciones con singletons como
None
deben hacerse siempre con ois not
, nunca con los operadores de igualdad.
También hay una buena explanation por qué.
¿Cómo comparo un marco de datos de pandas con None
? Tengo un constructor que toma uno de un pandas_df
parameter_file
o un pandas_df
pero nunca ambos.
def __init__(self,copasi_file,row_to_insert=0,parameter_file=None,pandas_df=None):
self.copasi_file=copasi_file
self.parameter_file=parameter_file
self.pandas_df=pandas_df
Sin embargo, cuando más tarde intento comparar pandas_df
con None
(es decir, cuando self.pandas_df
realmente contiene un marco de datos de pandas):
if self.pandas_df!=None:
print ''Do stuff''
Me sale el siguiente TypeError:
File "C:/Anaconda1/lib/site-packages/pandas/core/internals.py", line 885, in eval
% repr(other))
TypeError: Could not compare [None] with block values