본문 바로가기
Python/데이터 다루기

데이터 분석을 위한 강력한 Pandas 함수 2

by 찐남 2022. 6. 6.

데이터 전처리는 데이터 분석에 있어

가장 중요한 부분이죠.

 

데이터 전처리 과정에는

정리, 구조 조정, 병합, 중복 제거,

Null 또는 NaN 값 제거 등과 같은

다양한 작업이 포함됩니다.

 

Pandas는 다양한 데이터 사전 처리 작업을

진행하기 위해 많은 함수를 제공합니다.

Pandas는 Series 및 DataFrame을 포함하는 

데이터 작업을 위해 두 가지 유형의 

데이터 구조를 제공합니다.

지난번 포스팅에서

데이터 분석을 위한 강력한 Pandas 함수에

대해 1차적으로 알아보았는데요.

 

 

데이터 분석을 위한 강력한 Pandas 함수 1

Pandas는 파이썬에서 데이터 정리와 관련하여 국제적 표준과도 같습니다. Pandas는 다차원 배열을 지원하는 Numpy를 기반으로 합니다. Pandas는 Data Science 도구 상자에 추가할 때 장점이 될 수 있습니

zzinnam.tistory.com

 

 

이번 포스팅에서는 추가적으로 

몇 개만 더 알아보겠습니다.

 

예제 데이터는 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

<총 11개의 행으로 출력>

 

# 출력 데이터 프레임을 5개로 설정
pd.set_option("display.max_rows", 5)
titanic

<총 5개의 행으로 출력>

 

# 옵션 초기화
pd.reset_option("display.max_rows")
titanic

 

2. 숫자 형식의 표기법 변경

# 소수점 2자리까지 서식 지정
pd.set_option('display.float_format', lambda x: '%0.2f' % x)
titanic.head()

 

 

반응형

댓글