ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • Pandas 데이터 연산하기 (NULL 처리 포함)
    데이터 분석/Pandas 2020. 6. 27. 22:26

    유니버셜 함수는

    - 단항연산의 경우 인덱스와 열 레이블을 보존하고

    - 이항연산의 경우 자동으로 인덱스를 정렬한다.  --> 불완전한 데이터로 작업할 때 매우 편리하다. 

     

    Series 에서 인덱스 정렬  

     

    + 산술연산을 하면, 둘 중 하나라도 값이 없는 항목은 NaN (Not a Number) 으로 표시된다.

    만약 NaN 값 사용을 원치 않을 경우, 연산자 대신 적절한 객체 메서드를 사용해 채우기 값을 수정할 수있다. fill_value

     

    DataFrame 에서 인덱스 정렬

    DataFrame 에서 연산을 수행할 때 열과 인덱스 모두에서 비슷한 유형의 정렬이 발생한다. 

     

    pandas.DataFrame.stack

    multi-level index 를 가지도록 형태를 변환해서 반환한다. 

     

    산술연산에 대한 객체메서드

    + add(), - sub(), * mul(), / div(), % mod(), ** pow()

    Among flexible wrappers (add, sub, mul, div, mod, pow) to arithmetic operators: +, -, *, /, //, %, **.

     

    pandas.DataFrame.add

    other: 연산대상 (scalar, sequence, Series, DataFrame)

    fill_value: NaN 을 특정 값으로 채울 수 있다. 

    axis: 계산할 대상

    axis = 0  (열을 기준으로) 모든 행에 대해 계산한다. / axis = 1  (행을 기준으로) 모든 열에 대해 계산한다.

    level : multi-index 일 때 사용 (나중에~)

     

    Panas 에서 NaN 과 None

    NaN 과 None 은 각자가 맡은 역할이 있으며, Pandas 는 이 둘을 거의 호환성 있게 처리하고 적절한 경우에는 서로 변환할 수 있게 했다. 

     

    사용할 수 있는 센티널 값이 없는 타입의 경우, NA 값이 있으면 Pandas 가 자동으로 타입을 변환한다. 

    자동으로 None 을 NaN (Not a Number) 값으로 변환한다. 

    만약 데이터 구조체의 dtype 이 object 일 경우에는 None --> NaN 자동변환되지 않는다.  (NA 센티널 값이 None 또는 np.nan 모두 허용하기 때문)

     

    Null 값 연산하기

     Pandas  데이터 구조의 널 값을 감지하고 삭제하고 대체하는 몇 가지 유용한 메서드가 있다. 

    isnull(), notnull() : null / notnull 을 가리키는 부울 마스크를 생성

    dropna() : 데이터에 필터를 적용한 버전을 반환 

    fillna() : 누락 값을 채우거나 전가된 데이터 사본을 반환 

     

    Series 에 대한 Null 값 연산

     

    DataFrame 에 대한 Null 값 연산

     axis 행 기준 / 열 기준

     

    howthresh 매개변수를 통해 모두 NA 값으로 채워져 있거나, NA 값이 대부분을 차지하는 행과 열을 삭제할 수 있다. 

    how: 'all' 모두 NA 값인 것 drop / 'any' 하나라도 NA 값인 것 drop

     

    thresh: 멀쩡한 값이 2/3개 이상이면 살린다. 아니면 drop 한다.

     

    때로 NA 값을 삭제하지 않고, 유효한 값으로 대체해야할 때도 있다. 0 처럼 단일 숫자일 수도 있고, 유효한 값으로부터 전가 혹은 보간된 값일 수도 있다. (보간, interpolation: 『수학』 변수 의 함수의 형태는 알 수 없으나 몇 가지 에 대한 함숫값 가 알려져 있을 때 그 사이의 임의의 에 대한 함숫값을 추정하는 것.)

    댓글

Designed by Tistory.