web-dev-qa-db-ja.com

pandasデータフレームでNoneをNaNに置き換えます

テーブルxがあります:

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

python Noneをpandas NaNに置き換えます。私は試した:

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

しかし、私は得た:

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'

どうすればいいですか?

58
AdamNYC

DataFrame.fillna または Series.fillna を使用して、文字列'None'ではなく、PythonオブジェクトNoneを置き換えることができます。

import pandas as pd

データフレームの場合:

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

列またはシリーズの場合:

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

別のオプションを次に示します。

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

次の行は、NoneNaNに置き換えます。

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