ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [혼공데분] 3주차 데이터 정제하기
    혼공공부단11기_혼공데분 2024. 1. 15. 23:51

    이번 챕터는 데이터 전처리하는 방법에 대한 내용을 다루고 있고, 3-1은 불필요한 데이터 삭제하는 방법을 다룬다.

    • loc 메서드
    • 불리언 배열을 이용한 원소별 비교(이전 챕터 기본 미션 풀면서 말했던 T/F를 이용한 슬라이싱인데 그때는 어색해보였는데 열이름에 사용하는 예를 보니까 친숙하네...)
    • drop() 메서드
    • 결측값 na 삭제를 위해선 dropna() 메서드를 사용
    • [] 연산자 (loc 메서드와 달리 마지막 인덱스는 포함 안함)

    삭제만 다루는 줄 알았는데 그건 아니고 뒤에 중복된 행 검사하는 duplicated() 메서드도 나오고 groupby() 메서드, copy() 메서드도 나온다. 갑자기 분량 많아져서 하루에 진도 다 빼기 힘들어졌음...

    3-2는 잘못된 데이터(NaN)를 수정하는 방법을 다룬다. 

    먼저 info() 메서드나 isna() 메서드로 NaN가 얼마나 있는지 확인한다. (info() 메서드의 memmory_usage 매개변수를 'deep'으로 지정하면 정확한 메모리 사용량을 확인할 수 있다고 한다.)

    NaN을 실수값으로 저장하기 때문에 int 타입 컬럼에 None값이 들어가면 컬럼 데이터타입이 float64로 바뀌는 건 처음 알았고 이 부분은 더 찾아봐야겠다.

    python에서 NaN 다루는 건 좀 헷갈리는데 상세히 설명해줘서 좋았다. 결론적으로 np.nan을 쓰면 안헷갈릴수있다고 한다.

    값 내에서 원하는 값만 가져오기 위해 정규표현식도 다룬다. 항상 볼 때마다 새롭고 어렵네...난 정규표현식 테스트할 수 있는 사이트에서 여러번 테스트 쳐가면서 맞추는 게 그나마 쉬운 것 같다.

    contains() 메서드는 처음 보는데 유용하겠는데?! 근데 난 파이썬에선 이거 가지고 그렇게 골치아팠던 적이 없고 sql 다룰때 가끔씩 db마다 데이터 타입을 유연하게 넘어가 주는 정도(?)가 달라서 고생했던 기억이 있다. 아무튼 잘 기억해둬야지

     

    *기본 미션(p182 Q2)

    데이터프레임 특정 열의 합을 계산하는 명령 중 틀린 것 고르기

    - 1. 맞음

    - 2. 맞음

    - 3. 맞음. loc 메서드로 전체 행 선택, 열은 col1만 선택

    - 4. 틀림. col3 열의 합을 계산하는 코드이고, col1 열의 합을 구하려면 컬럼 선택하는 불리언 배열이 [True, False, False] 여야함

     

    소감: 전처리 부분은 어렵지 않았으나 정규표현식이 뒤쪽에 많이 나온다. 유용한 건 맞으니까 정규표현식 부분 어렵게 느끼지 않도록 공부 더 해야하겠다는 생각했음. 전처리는 ADP 대비해서 치트시트 정리도 해야하는데 이 책에서도 많이 참고할 수 있을 것 같다. 무엇보다 활용 방법에서 자세히 설명하는 부분이 마음에 듦 (글이나 그림 옆에 캐릭터가 설명하는 말풍선이 특히 도움이 된다)

     

     

     

     

Designed by Tistory.