
불필요한 데이터 삭제하기
- 데이터 정제
- 데이터에서 손상되거나 부정확한 부분을 수정하고 불필요한 데이터를 삭제하거나 불완전한 값을 교체하는 작업
- 데이터 랭글링 / 데이터 먼징
- 데이터를 정제하는 과정과 데이터 분석 및 머신러닝에 적합한 형태로 데이터를 변환하는 과정
- 열 삭제하는 방법
- loc 메서드에 슬라이싱 사용
- loc 메서드 & 불리언 배열 사용
- drop() 메서드 / inplace = True (선택한 데이터프레임에 덮어쓰기)
- dropna() 메서드 / how = 'all' (모든 값이 결측치인 열 삭제 시 사용되는 매개변수)
- 행 삭제하는 방법
- drop() 메서드 사용
- [] 연산자와 슬라이싱
- [] 연산자와 불리언 배열
- 중복된 행 찾기
- subset() 매개변수 (일부 열을 기준으로 중복된 행을 찾음)
- duplicated() 메서드 / keep =False (중복된 모든 행을 True로 표시한 불리언 배열 반환)
- 그룹별로 모으기
- groupby() 메서드 / by= [ 기준이 되는 열] (행을 합칠 때 기준이 되는 열을 지정하는 매개변수)
- groupby() 메서드는 기본적으로 by 매개변수에 지정된 열에 결측치가 포함되어 있으면 해당 행을 삭제한다.
- 해결 방안: dropna = False 지정 (결측치가 있는 행을 삭제 하지 않음)
- 원본 데이터 업데이트하기
- 중복된 행을 True로 표시한 불리언 배열을 반전시킬 때는 판다스의 ~연산자 사용
- copy() 메서드는 데이터프레임의 복사본을 생성하는데 판다스는 만들고자 하는 데이터프레임이 별도의 메모리 공간에 저장되는지 보장하지 않기 때문에 데이터를 업데이트할 때는 항상 복사본을 생성하는 것이 좋다.
- set_index() 메서드 (지정한 열을 인덱스로 설정)
- update() 메서드 (다른 데이터프레임을 사용해 원본 데이터프레임의 값을 업데이트)
- reset_index() 메서드 (열 재설정시 사용)
잘못된 데이터 수정하기
- 데이터프레임 정보 요약 확인하기
- info() 메서드 (데이터프레임 정보를 요약해서 출력)
- 누락된 값 처리하기
- isna() 메서드 (누락된 값 개수를 확인) / isnull() 메서드도 많이 활용한다.
- notna() 메서드 (누락되지 않은 값을 확인)
- 누락된 값으로 표시하기:None 과 np.nan
- 판다스 데이터 프레임에서는 정수를 저장하는 열에 파이썬의 None을 입력하면 누락된 값으로 인식
- astype() 메서드 (데이터 타입을 지정시 사용)
- 정수를 저장하는 열이 아닌 다른 열에는 numpy 패키지를 임포트하여 np.nan으로 지정해줘야 결측치로 값이 지정된다.
- 누락된 값 바꾸기
- fillna() 메서드에 원하는 값 전달시 결측치 대체 가능
- replace() 메서드
- 바꾸려는 값이 하나일때
- replace( 원래 값, 새로운 값)
- 바꾸려는 값이 여러 개일때
- replace([원래값1,원래값2], [새로운 값1, 새로운 값2])
- replace({원래값1: 새로운 값1, 원래값2 : 새로운 값2})
- 열마다 다른 값으로 바꿀 때
- replace ({열 이름: 원래 값}, 새로운 값)
- 바꾸려는 값이 하나일때
- 정규 표현식
- 숫자 찾기: \d
- 숫자에 대응하는 정규 표현식은 \d를 사용
- regex = True ( 정규표현식을 사용한다는 매개변수 옵션)
- \d\d\d\d 네 자리 연도를 뒤에 두 자리만 하나의 그룹으로 묶을 시 \d\d(\d\d)로 쓴다.
- 패턴 안에 있는 그룹을 나타낼 시 \1,\2와 같이 사용
- 정규표현식 앞에 붙인 r문자는 파이썬에서 정규표현식을 다른 문자열과 구분하기 위해서이다.
- 정규표현식이 반복될 시 중괄호를 사용하여 개수 지정 가능
- 문자 찾기: 마침표(.)
- 숫자가 아닌 다른 모든 문자에 대응하는 정규 표현식은 /D를 사용
- 정규표현식에서는 괄호는 그룹을 나타내는 데 사용하기 때문에 문자로 인식하게 하려면 \를 앞에 붙여준다.
- 띄어쓰기가 있을 시에는 공백문자를 나타내는 정규표현식 \s를 앞에 붙인다.
- 반복 개수를 지정하기 어려울 때는 *를 사용하여 0개 이상 반복된다고 표시
- 숫자 찾기: \d
- 잘못된 값 바꾸기
- contains() 메서드 (시리즈나 인덱스에서 문자열 패턴을 포함하고 있는지 검사)
- na = True 매개변수 (누락된 행을 True로 표시)
- gt () 메서드 (전달된 값보다 큰 값을 찾음)
- ge () 메서드 (전달된 값보다 크거나 같은 값을 찾음)
- lt () 메서드 (전달된 값보다 작은 값을 찾음)
- le () 메서드 ( 전달된 값보다 작거나 같은 값을 찾음)
- eq () 메서드 ( 전달된 값과 같은 값을 검사)
- ne() 메서드 (전달된 값과 같지 않은 값을 찾음)
- contains() 메서드 (시리즈나 인덱스에서 문자열 패턴을 포함하고 있는지 검사)
숙제


'공부 > python' 카테고리의 다른 글
| 혼자 공부하는 데이터 분석 5주차: 데이터 시각화하기 (0) | 2024.08.11 |
|---|---|
| 혼자 공부하는 데이터 분석 4주차: 데이터 요약하기 (0) | 2024.07.28 |
| 혼자 공부하는 데이터 분석 2주차: 데이터 수집하기 (0) | 2024.07.14 |
| 혼자 공부하는 데이터 분석 1주차: 데이터 분석을 시작하며 (0) | 2024.07.07 |
| [BDA x 이지스 퍼블리싱] Easy Study Project 마무리를 하며 (0) | 2024.01.26 |