web-dev-qa-db-fra.com

Remplacer None par NaN dans pandas dataframe

J'ai la table x:

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

Je veux remplacer python Aucun par pandas NaN. J'ai essayé:

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

Mais j'ai eu:

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'

Comment dois-je m'y prendre?

58
AdamNYC

Vous pouvez utiliser DataFrame.fillna ou Series.fillna qui remplacera l'objet Python None, pas la chaîne 'None'.

import pandas as pd

Pour le cadre de données:

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

Pour colonne ou série:

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

Voici une autre option:

df.replace(to_replace=[None], value=np.nan, inplace=True)
11
Nickolai

La ligne suivante remplace None par NaN:

df['column'].replace('None', np.nan, inplace=True)
9
Max Izadi