Pandas는 데이터 분석과 조작을 위한 Python의 강력한 라이브러리입니다. 이 글에서는 Pandas의 핵심 구성 요소인 **시리즈(Series)**와 **데이터프레임(DataFrame)**의 개념, 라벨 활용, 키/값 객체로 시리즈 생성 방법, 그리고 데이터프레임의 기본 구조를 살펴봅니다.
Pandas 시리즈(Series)란 무엇인가요?
Pandas의 **시리즈(Series)**는 1차원 배열 형태로, 데이터를 저장하고 조작하는 데 사용됩니다. 시리즈는 NumPy 배열과 유사하지만, 데이터에 라벨(인덱스)을 지정할 수 있어 더 유연합니다.
특징:
- 단일 데이터 타입을 가집니다.
- 인덱스를 통해 각 데이터에 접근할 수 있습니다.
예시:
import pandas as pd
series = pd.Series([10, 20, 30, 40])
print(series)
출력:
0 10
1 20
2 30
3 40
dtype: int64
라벨(Labels)과 인덱스
Pandas 시리즈는 기본적으로 0부터 시작하는 정수 인덱스를 가집니다. 그러나 사용자 정의 라벨을 사용하여 데이터를 더 직관적으로 관리할 수 있습니다.
사용자 정의 라벨 예시:
series = pd.Series([10, 20, 30, 40], index=['a', 'b', 'c', 'd'])
print(series)
출력:
a 10
b 20
c 30
d 40
dtype: int64
라벨을 통해 특정 데이터를 쉽게 가져올 수 있습니다:
print(series['b']) # 출력: 20
라벨 생성(Create Labels)
Pandas 시리즈를 생성할 때 index 매개변수를 사용하여 사용자 정의 라벨을 추가할 수 있습니다.
예시:
series = pd.Series([100, 200, 300], index=['X', 'Y', 'Z'])
print(series)
출력:
X 100
Y 200
Z 300
dtype: int64
키/값 객체로 시리즈 생성
Pandas 시리즈는 딕셔너리와 같은 키/값 객체를 기반으로 생성할 수도 있습니다.
예시:
data = {'a': 1, 'b': 2, 'c': 3}
series = pd.Series(data)
print(series)
출력:
a 1
b 2
c 3
dtype: int64
키는 라벨로 사용되고, 값은 시리즈의 데이터로 저장됩니다.
Pandas 데이터프레임(DataFrames)
**데이터프레임(DataFrame)**은 2차원 데이터 구조로, 여러 개의 시리즈가 모여 행과 열로 구성됩니다. 데이터프레임은 테이블 형식으로 데이터를 저장하며, 데이터 분석에 매우 유용합니다.
데이터프레임 생성 예시:
data = {
'Name': ['Alice', 'Bob', 'Charlie'],
'Age': [25, 30, 35],
'City': ['New York', 'Los Angeles', 'Chicago']
}
df = pd.DataFrame(data)
print(df)
출력:
Name Age City
0 Alice 25 New York
1 Bob 30 Los Angeles
2 Charlie 35 Chicago
데이터프레임은 시리즈와 달리 다차원 데이터를 다룰 수 있으며, 열(column)을 기준으로 각각의 시리즈로 분리할 수 있습니다:
print(df['Name'])
출력:
0 Alice
1 Bob
2 Charlie
Name: Name, dtype: object
결론
Pandas의 시리즈와 데이터프레임은 데이터 분석과 조작의 기본 도구로, 각각의 특성을 이해하고 활용하는 것이 중요합니다. 시리즈는 1차원 데이터, 데이터프레임은 2차원 데이터 구조를 다루며, 라벨과 키/값 객체를 활용하여 직관적이고 강력한 데이터 관리를 제공합니다. 이 가이드를 따라 Pandas의 기초를 익히고, 실무에서 데이터를 효율적으로 다뤄보세요.