2017-04-27 6 views
2

여기에 몇 가지 해답을 검색하고 시도했지만, NaN을 사용하여 행을 반환하기위한 것이 전부입니다. NaN 값을 가진 열만 반환하고 싶습니다. 예를 들면 다음과 같습니다. 'A'와 'LG'열을 어떻게 선택합니까? index팬더의 NaN 값을 갖는 서브 세트 열

mask = df.isnull().any() 
print (mask) 
A  True 
H  False 
LG  True 
dtype: bool 

마지막 사용 부울 색인 :

df = pd.DataFrame(
     {'H': ['a','b', 'c'], 
     'A': [np.nan,'d', 'e'], 
     'LG':['AR1', 'RO1', np.nan], 
     }) 

그런 다음 isnullany에 의해 확인 :

df = pd.DataFrame(
     {'H': ['a','b', 'c'], 
     'A': [np.nan,'d', 'e'], 
     'LG':['AR1', 'RO1', np.nan], 
     }) 

print(df) 

    A H LG 
0 NaN a AR1 
1 d b RO1 
2 e c NaN 
+1

수 속는 : [찾는 방법에 열을 판다 dataframe (파이썬)의 모든 NaN의 값을 포함하는 (http://stackoverflow.com/questions/36226083/how-to-find-which-columns-contain -any-nan-value-in-pandas-dataframe-python) – MaxU

+0

부분적으로 저는 그렇게 믿습니다. 나는 하위 집합을 요구하고 있는데, 그 중 하나는 열 이름 만 반환하는 것입니다. – Zanshin

+0

좋은 점, 감사합니다! 나는 [그 게시물] (http://stackoverflow.com/a/36226137/5741205) – MaxU

답변

3

난 당신이 샘플에서 np.nan에 문자열을 NaN 교체 첫번째 필요가 있다고 생각

필요 열이 loc을 추가하는 경우는 :

print (df.loc[:, mask]) 
    A LG 
0 NaN AR1 
1 d RO1 
2 e NaN 
+0

위대한,이 작품을 업데이 트했습니다. 감사 – Zanshin

1

NaN를 포함하는 모든 열을 반환합니다.

df = pd.DataFrame(
     {'H': ['a','b', 'c'], 
     'A': [np.nan,'d', 'e'], 
     'LG':['AR1', 'RO1', np.nan], 
     }) 

x = pd.isnull(df).any() 

print(df[x.index[x]]) 

    A LG 
0 NaN AR1 
1 d RO1 
2 e Na 
관련 문제