Pandas의 Dropna 필터링 누락된 데이터

2365 단어
import pandas as pd
import numpy as np
from numpy import nan as NaN

1. 시리즈 객체 작업

  • dropna()를 통해 부족한 데이터 필터
  • from numpy import nan as NaN
    se1=pd.Series([4,NaN,8,NaN,5])
    print(se1)
    se1.dropna()

    결과는 다음과 같습니다.
    0    4.0
    1    NaN
    2    8.0
    3    NaN
    4    5.0
    dtype: float64
    
    0    4.0
    1    NaN
    2    8.0
    3    NaN
    4    5.0
    dtype: float64
  • 브리 서열을 통해서도 필터할 수 있음:
  • se1[se1.notnull()]

    결과는 다음과 같습니다.
    0    4.0
    2    8.0
    4    5.0
    dtype: float64

    2. DataFrame 객체 처리


    DataFrame 객체 처리는 NaN이나 일부 NaN을 모두 버려야 할 수도 있으므로 복잡합니다.
    df1=pd.DataFrame([[1,2,3],[NaN,NaN,2],[NaN,NaN,NaN],[8,8,NaN]])
    print(df1)

    결과는 다음과 같습니다.
         0    1    2
    0  1.0  2.0  3.0
    1  NaN  NaN  2.0
    2  NaN  NaN  NaN
    3  8.0  8.0  NaN
  • NaN:
  • 기본 필터링
    df1.dropna()

    결과는 다음과 같다.
         0    1    2
    0  1.0  2.0  3.0
    1  NaN  NaN  2.0
    2  NaN  NaN  NaN
    3  8.0  8.0  NaN
  • how='all'필터가 모두 Nan인 줄
  • df1.dropna(how='all')

    결과는 다음과 같다.
         0    1    2
    0  1.0  2.0  3.0
    1  NaN  NaN  2.0
    2  NaN  NaN  NaN
    3  8.0  8.0  NaN
  • 전입axis=1여과열
  • df1[3]=NaN
    df1

    결과는 다음과 같다.
         0    1    2   3
    0  1.0  2.0  3.0 NaN
    1  NaN  NaN  2.0 NaN
    2  NaN  NaN  NaN NaN
    3  8.0  8.0  NaN NaN
    df1.dropna(axis=1,how="all")

    결과는 다음과 같다.
         0    1    2
    0  1.0  2.0  3.0
    1  NaN  NaN  2.0
    2  NaN  NaN  NaN
    3  8.0  8.0  NaN
  • thresh=n 필터 n줄
  • df1.dropna(thresh=1)

    결과는 다음과 같다.
    0   1   2   3
    0   1.0 2.0 3.0 NaN
    1   NaN NaN 2.0 NaN
    3   8.0 8.0 NaN NaN
    df1.dropna(thresh=3)

    결과는 다음과 같다.
          0  1   2    3
    0   1.0 2.0 3.0 NaN

    전재 대상:https://www.cnblogs.com/nxf-rabbit75/p/9784459.html

    좋은 웹페이지 즐겨찾기