2017-11-13 1 views
1

pd.Series이 주어 졌으므로 null 값을 목록으로 바꾸고 싶습니다. 즉, 주어진 : fillna를 사용하여 팬더의 목록으로 null 채우기

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"

이것을 달성 할 수있는 간단한 방법에 대한 제안은 무엇입니까? 스칼라 작업 fillna 때문에

+1

이 버그, HTTPS입니다 : //github.com/pandas-dev/pandas/issues/3435, BTW, 왜 이것을해야합니까? – Wen

답변

1

사용 apply을 : 당신은

ser=ser.astype('object') 

그런 다음 목록을 지정할 개체를 변경할 수 있습니다

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

np.nan

ser.loc[ser.isnull()]=[[np.nan]] 
관련 문제