2016-09-02 2 views
2

내 질문에 이미 답변 한 경우 사과드립니다. 솔루션을 찾으려고했지만 데이터 프레임에있는 모든 NaN에 대해 dropna 솔루션을 사용하면됩니다. 제 질문은 6 열 500 행의 데이터 프레임이 있다는 것입니다. 모든 값이 NaN이므로 특정 행에서 데이터 세트에서 데이터를 삭제할 수 있는지 확인해야합니다. 행 2, 6 & 7 아래의 예는 COL1에서 col6 모든 할머니가 포함Python Pandas : 행 값의 모든 열이 NaN인지 확인합니다.

Col1 Col2 Col3 Col4 Col5 Col6 
    12  25  02  78  88  90 
    Nan  Nan  Nan  Nan  Nan  Nan 
    Nan  35  03  11  65  53 
    Nan  Nan  Nan  Nan  22  21 
    Nan  15  93  111  165  153 
    Nan  Nan  Nan  Nan  Nan  Nan 
    Nan  Nan  Nan  Nan  Nan  Nan 
    141  121  Nan  Nan  Nan  Nan 

가 맨 윗줄 그냥 제목과 내 데이터가 시작 병동에 2 행에서 유의하시기 바랍니다. 누군가가이 퍼즐을 풀기 위해 올바른 방향으로 나를 도울 수 있다면 감사 할 것입니다.

또한 제 2 질문은 4 또는 5 열 데이터가없는 행을 삭제하려는 경우 모든 열의 모든 Nan을 삭제 한 후 가장 좋은 해결책이 될 것입니다.

그리고 마지막 질문은 가능한 한 대부분의 Nan이있는 행을 삭제 한 다음 어떻게 남은 450 행에 상자 그림을 만들 수 있습니까?

모든 응답은 매우 감사하겠습니다. 내 데이터 집합을 드롭 할 수 있도록

안부,

답변

3

나는 어떤 특정 행의 모든 ​​값이 NaN을 경우 확인해야합니다. pd.DataFrame.dropna(how='all')이 바로 이러한 작업을 수행하는 것입니다

: 두 번째 질문에 대해서는

In [3]: df = pd.DataFrame({'a': [None, 1, None], 'b': [None, 1, 2]}) 

In [4]: df 
Out[4]: 
    a b 
0 NaN NaN 
1 1.0 1.0 
2 NaN 2.0 

In [5]: df.dropna(how='all') 
Out[5]: 
    a b 
1 1.0 1.0 
2 NaN 2.0 

, pd.DataFrame.boxplot 그렇게 할 것입니다. column 매개 변수로 원하는 열을 지정할 수 있습니다 (필요한 경우). the example in the docs도 참조하십시오.

+0

안녕하세요 Ami, 답장을 보내 주셔서 감사합니다. 실제로 나는 6 열 450 행이 있습니다. – Baig

+0

@Baig 오, 맞아. 그 의견을 지웠다. (어쨌든 그렇게 중요하지 않다.) –

+1

두 번째 질문은 실제로 4 열 또는 5 열에 데이터가 누락 된 행을 삭제하는 방법 이었으므로 첫 번째 질문과 두 번째 질문을 처리하는 또 다른 방법은 'df.dropna (thresh = 2)'를 수행하여 돈이없는 모든 열을 제거하는 것입니다 적어도 2 개의 비 NaN 값을 가짐 –

관련 문제