He tabla x:

        website
0   http://www.google.com/
1   http://www.yahoo.com
2   None

Quiero reemplazar python Ninguno de los pandas NaN. He intentado:

x.replace(to_replace=None, value=np.nan)

Pero yo tengo:

TypeError: 'regex' must be a string or a compiled regular expression or a list or dict of strings or regular expressions, you passed a 'bool'

¿Cómo debo hacerlo?

InformationsquelleAutor AdamNYC | 2014-05-19

3 Comentarios

  1. 89

    Puede utilizar DataFrame.fillna o de la Serie.fillna que va a reemplazar al objeto de Python None, no la cadena 'None'.

    import pandas as pd

    Para dataframe:

    df.fillna(value=pd.np.nan, inplace=True)

    Para la columna o de la serie:

    df.mycol.fillna(value=pd.np.nan, inplace=True)
    • Si ha importado los datos de una base de datos SQL, se puede combinar esto con la respuesta a continuación. Esto convierte a Ninguno (que no es una cadena) a NaN. A continuación, puede df['column'].replace(nan, "", inplace=True) si decir que no quería nada para ser una cadena vacía.
    • Esto no respuesta no me funciona; no reemplaza None. Max la respuesta de obras.
  2. 11

    Aquí es otra opción:

    df.replace(to_replace=[None], value=np.nan, inplace=True)
    • esto funcionó para mí
  3. 9

    La siguiente línea reemplaza None con NaN:

    df['column'].replace('None', np.nan, inplace=True)
    • Esto no funciona.
    • Sólo una doble comprobación, trabaja para mí. ¿Te sale algún error o el » No » los valores no son reemplazados?
    • NB: este método utiliza np.nan, que tiene un flotador dtype (por ejemplo: float64), en contraposición a los pandas por defecto de dtype de object para una nan columna.
    • Tenga en cuenta que Este reemplaza cadenas de caracteres con el texto «Ninguno», pero no es el explícito Ninguno de los valores (Ninguno, como en la constante).

Dejar respuesta

Please enter your comment!
Please enter your name here