데이터 전처리는 데이터 분석에 있어
가장 중요한 부분이죠.
데이터 전처리 과정에는
정리, 구조 조정, 병합, 중복 제거,
Null 또는 NaN 값 제거 등과 같은
다양한 작업이 포함됩니다.
Pandas는 다양한 데이터 사전 처리 작업을
진행하기 위해 많은 함수를 제공합니다.
Pandas는 Series 및 DataFrame을 포함하는
데이터 작업을 위해 두 가지 유형의
데이터 구조를 제공합니다.
지난번 포스팅에서
데이터 분석을 위한 강력한 Pandas 함수에
대해 1차적으로 알아보았는데요.
이번 포스팅에서는 추가적으로
몇 개만 더 알아보겠습니다.
예제 데이터는 titanic 데이터를
사용하겠습니다.
import pandas as pd
import numpy as np
titanic = pd.read_csv("C:/titanic.csv")
이제 하나씩 살펴보겠습니다.
DataFrame.select_dtypes( )
열의 dtypes를 기반으로 DataFrame 열의
부분 집합을 반환합니다.
특정 데이터 유형이 있는 열만
선택하려는 경우에 유용합니다.
구문
=> DataFrame.select_dtypes(include = “reqd dtype”, exclude = “reqd dtype”)
* include: 포함하고자 하는 데이터 형식
* exclude: 제외하고자 하는 데이터 형식
# 예제 데이터의 데이터 형식 확인
titanic.info()
# case1) 특정 형식 ("int64")의 칼럼만 가져오기
titanic.select_dtypes(include = “int64”)
# case 2) 2개의 특정 형식 ("int8", "int64")의 칼럼만 가져오기
titanic.select_dtypes(include = ["int8","int64"])
# case 3) 숫자형 칼럼만 가져오기
titanic.select_dtypes(include = "number")
# case4) 문자형 칼럼만 가져오기
titanic.select_dtypes(include = "object")
단! 주의할 게 있어요!!!!
숫자형 중에서 정수형(int형)만
가져오고 싶다고
titanic.select_dtypes(include = int")
만 하면 "int8"형식과 "int16"형식을
가져오지 못합니다.
한번 해볼까요?
titanic.select_dtypes(include = int")
"int8"과 "int32" 데이터 형식을
가져오지 못했습니다!!
Series.str.match()
Series.str.match() 함수는
주어진 Series 객체의 데이터가
정규표현식과 일치하는지
확인하는 데 사용됩니다.
구문
=> Series.str.match(pat, case=True, flags=0, na=None)
* pat : 문자 시퀀스 또는 정규표현식
* case : True이면 대소문자 구분
(default = True)
* flags: 정수(default = 0)
* na : 누락된 값에 대한 채우기 값
(default: 배열의 dtype에 따라 다름)
# "Cabin" 항목 값이 'C85' 혹은 'C123' 여부 확인
case1 = titanic["Cabin"].str.match(pat = "(C85)|(C123)")
case1.head(10)
# "Name" 항목 값이 대문자 다음에 소문자 'a'로 시작하는 데이터 확인
case 2 = titanic["Name"].str.match(pat = "([A-Z]a.)")
case2.head(10)
pd.Set_option()
기본적인 처리 환경에 대한 설정
1. 출력되는 데이터 프레임의 개수 설정
데이터프레임 출력 시,
기본적으로 11개의 행을 출력하는데요.
옵션을 통해서 이를 변경할 수 있습니다.
titanic
# 출력 데이터 프레임을 5개로 설정
pd.set_option("display.max_rows", 5)
titanic
# 옵션 초기화
pd.reset_option("display.max_rows")
titanic
2. 숫자 형식의 표기법 변경
# 소수점 2자리까지 서식 지정
pd.set_option('display.float_format', lambda x: '%0.2f' % x)
titanic.head()
'Python > 데이터 다루기' 카테고리의 다른 글
(EDA)파이썬을 이용한 탐색적 데이터 분석 프로젝트 (0) | 2022.07.22 |
---|---|
반복문을 활용한 일정 패턴의 변수 생성 - globals() (0) | 2022.07.16 |
Python에서 Lambda 함수를 사용하는 5가지 팁 (0) | 2022.06.04 |
항목에 쉼표(,)를 포함하고 있는 CSV 파일 읽기 (0) | 2022.05.24 |
알아두면 데이터 분석 시 시간을 절약할 수 있는 16가지 Python 및 Pandas Hacks (0) | 2022.05.23 |
댓글