4.1. 데이터 처리 with Pandas

4.1.1. Pandas 소개

Pandas는 Python에서 데이터 조작 및 분석을 위한 강력하고 유연한 오픈 소스 라이브러리입니다. 데이터 프레임(data frame)이라는 구조를 사용하여 테이블 형식의 데이터를 쉽게 처리할 수 있도록 도와줍니다. 데이터 로드, 조작, 집계, 시각화 등 다양한 기능을 제공하며, 특히 데이터 분석 작업에 널리 사용됩니다.

Pandas의 주요 기능

  • 데이터 조작: 행과 열을 추가하거나 삭제하고, 데이터를 필터링, 정렬, 그룹화할 수 있습니다.

  • 데이터 변환: 데이터 타입 변환, 결측치 처리, 데이터 병합 등의 기능을 제공합니다.

  • 데이터 분석: 기본 통계, 피벗 테이블, 시계열 분석 등을 수행할 수 있습니다.

  • 데이터 시각화: Matplotlib과 통합되어 데이터를 시각화할 수 있습니다.

Pandas 공식 웹사이트는 pandas.pydata.org입니다. 이 사이트에서는 pandas 라이브러리의 다양한 기능, 설치 방법, 사용자 가이드, API 참조 문서 등을 제공하며, 최신 릴리스 정보와 커뮤니티 지원도 받을 수 있습니다. Pandas를 처음 접하는 사용자부터 고급 사용자까지 모두에게 유용한 자료들이 준비되어 있습니다.

4.1.2. Pandas 설치

가상 환경 생성 (선택 사항)

가상 환경을 사용하면 프로젝트별로 독립적인 패키지 환경을 유지할 수 있습니다.

# 가상 환경 생성
python -m venv myenv

# 가상 환경 활성화 (Windows)
myenv\\Scripts\\activate

# 가상 환경 활성화 (Mac/Linux)
source myenv/bin/activate

설치 및 확인

pip를 사용하여 Pandas를 쉽게 설치할 수 있습니다.

# Pandas 설치
pip install pandas

정상적으로 설치되었는지 확인은 다음과 같이 하면 됩니다.

import pandas as pd

# Pandas 버전 확인
print(pd.__version__)

위 코드를 실행했을 때 pandas의 버전이 출력되면 정상적으로 설치된 것입니다.

4.1.3. Pandas 구성 요소

Pandas는 Python에서 데이터 조작 및 분석을 위한 강력한 도구로, 주로 데이터프레임(DataFrame)과 시리즈(Series)라는 두 가지 주요 구성 요소를 사용합니다. 이 두 가지는 Pandas의 핵심 구조로, 데이터를 효율적으로 처리하고 분석하는 데 사용됩니다.

데이터프레임은 2차원 테이블 형식의 데이터를, 시리즈는 1차원 배열 형식의 데이터를 표현하며, 이 두 가지를 활용하여 다양한 데이터 분석 작업을 수행할 수 있습니다.

4.1.4. 시리즈(Series)

시리즈는 1차원 배열과 유사한 데이터 구조로, 데이터프레임의 열을 구성하는 기본 단위입니다. 시리즈는 인덱스를 가지며, 인덱스를 통해 데이터에 접근할 수 있습니다.

시리즈 생성

시리즈를 생성하는 방법은 여러 가지가 있습니다. 예를 들어, 리스트를 사용하여 시리즈를 생성할 수 있습니다.

import pandas as pd

# 리스트를 사용하여 시리즈 생성
data = [10, 20, 30, 40, 50]
s = pd.Series(data)

# 시리즈 출력
print(s)

시리즈 주요 기능

  • 데이터 선택: 인덱스를 사용하여 특정 값을 선택

  • 데이터 필터링: 조건에 맞는 데이터를 필터링

  • 데이터 연산: 시리즈 간의 연산을 수행

# 특정 값 선택
value = s[2]

# 조건에 맞는 데이터 필터링
filtered = s[s > 20]

# 시리즈 간의 연산
s2 = pd.Series([1, 2, 3, 4, 5])
result = s + s2

4.1.5. 데이터프레임(DataFrame)

데이터프레임은 행과 열로 구성된 2차원 데이터 구조로, 엑셀 스프레드시트나 SQL 테이블과 유사합니다. 각 열은 시리즈(Series) 객체로 구성되며, 데이터프레임은 다양한 데이터 타입을 포함할 수 있습니다.

데이터프레임 생성

데이터프레임을 생성하는 방법은 여러 가지가 있습니다. 예를 들어, 딕셔너리를 사용하여 데이터프레임을 생성할 수 있습니다.

import pandas as pd

# 딕셔너리를 사용하여 데이터프레임 생성
data = {
    'Name': ['John', 'Anna', 'Peter', 'Linda'],
    'Age': [28, 24, 35, 32],
    'City': ['New York', 'Paris', 'Berlin', 'London']
}
df = pd.DataFrame(data)

# 데이터프레임 출력
print(df)

데이터프레임 주요 기능

  • 데이터 선택: 특정 열이나 행을 선택

  • 데이터 필터링: 조건에 맞는 데이터를 필터링

  • 데이터 정렬: 특정 열을 기준으로 데이터를 정렬

  • 데이터 그룹화: 데이터를 그룹화하고 집계

# 특정 열 선택
names = df['Name']

# 조건에 맞는 데이터 필터링
adults = df[df['Age'] > 30]

# 데이터 정렬
sorted_df = df.sort_values(by='Age')

# 데이터 그룹화 및 집계
grouped = df.groupby('City').mean()

Pandas는 데이터 분석 프로그래머를 위해 수많은 API를 제공하고 있습니다. 모든 API를 암기해서 사용하는 것은 불가능합니다. 필요할 때마다 Pandas 공식 홈페이지의 API reference를 검색하여 필요한 기능을 이용하는 것이 좋습니다.

맨 위로 이동