데이터분석/Pandas&Numpy

pandas 데이터프레임 불필요한 데이터 제거 및 정리 예제 1번

ADELA_J 2023. 4. 24. 23:19

흑흑 어려워 복잡해

 

그래도 해야지..ㅎ.. 감잡힐때까지 꾸준히 다양하게 적용해서 적어보는 것이 숙제일듯..!


데이터 프레임에서 불필요한 데이터를 제거하고 정리해서 업데이트 하는 방법..!

 

1. 열을 삭제하는 방법 

 - loc 메서드에 슬라이싱 or 불리언 배열 / drop() 메서드 사용해봄

2. 행 삭제 할때

 - drop() 보다는 []연산자, 슬라이싱 or 불리언 배열

    ▶ []연산자와 불리언 배열은 특정 열의 값이 어떤 조건을 만족하는 행을 찾는 방식이라 더욱 즐겨 사용됨

3. 중복된 행을 찾는 방법

 - groupby() , sum() 사용

4. 원본 데이터프레임에 업뎃

 - updat() 메서드

 - 인덱스 기준으로 업데이트를 위해 set_index() method, reset_index() method.

▶ 주석하고 코드하고의 행 이름같은게 좀 짬뽕되어서..ㅠ...(열이름 혼란으로 인해) 정리

 

 1. 파일을 데이터 프레임으로 읽기

  -  pd.read_확장자명 (파일명 , lower_memory=False)

 2. 불필요한 열/행 삭제

  - drop(열이름, axis = 1) 열 삭제

  - dropna() : NaN 하나 이상 있으면 삭제 최소 한개만 있어도 무조건 삭제 삭제..

  - dropna(how='all')  모든값이 NaN을 가지고 있는 행or 열 삭제

 3. 중복되는 값을 합치기 위한 기준 열 이름 선택

   - 문자열은 groupby(by=)메소드로 합침

   - 정수는 .sum() 으로 합치지 (평균안돼)

 4. 중복된 행만을 제외하고 고유한 행만 추출

   - duplicated() 로 중복값 확인 (불리언 배열로 반환)

   +  sum() : True 가 1,  False가 0이라 True 1을 더해서 중복된 행의 개수를 셀 수 있음.

      ▶  keep 매개변수를 선택해서 중복값 중 무엇을 남길지 선택해야함. 아니면 first  디폴트

 5. 원본 데이터 업뎃

   - duplicated()를 통해 중복된 행을 True로 표시한 불리언배열을 반전시켜(~) copy()하고 원본배열에서 고유한 행만 선택

   - copy()를 써서 변수에 새로 저장을 해줘야. 아니면 메모리에 저장된다고 확신할 수 없음...보장안돼..날리지마

 5-1 . 인덱스 정리와 업뎃

   - set_index() 지정한 열 이름이 인덱스 값이 됨

   - 업뎃될거.update(업뎃할거)  : 자료 정제된거 업뎃

   - reset_index() : 인덱스 리셋해서 깔끔하게 해주잡 그래야 값을 불러오기가 좋지.

   - 업뎃된 DF[원본DF.columns] : 원본과 똑같은 열 순서대로 정리해주기.(적용해주기)