2017-11-13 4 views
1

pd.Seriesが与えられているので、null値をリストに置き換えたいと思います。それは、与えられます。 fillnaを使ってPandasのリストでヌルを塗りつぶし

import numpy as np 
import pandas as pd 
ser = pd.Series([0,1,np.nan]) 

は私が

0  0 
1  1 
2 [nan] 

を返す機能が欲しいしかし、私は、すなわちfillna、このために天然の機能を使用してみてください場合:

result = ser.fillna([np.nan]) 

が、私は得ますエラー

TypeError: "value" parameter must be a scalar or dict, but you passed a "list"

これを達成するための簡単な方法の提案はありますか?

+1

を割り当てる

ser=ser.astype('object') 

をobjectに変更することができます。 //github.com/pandas-dev/pandas/issues/3435、BTW、なぜこれが必要ですか? – Wen

答えて

1

使用applyfillnaはスカラーのみを扱うので:

print (ser.apply(lambda x: [np.nan] if pd.isnull(x) else x)) 
0  0 
1  1 
2 [nan] 
dtype: object 
2

あなたが、これはバグ、HTTPSでリストにnp.nan

ser.loc[ser.isnull()]=[[np.nan]] 
関連する問題