Pandas 데이터프레임은 2차원 데이터 구조로, 데이터 분석과 조작에 필수적인 도구입니다. 이 글에서는 데이터프레임의 개념, 특정 행 찾기, 이름이 지정된 인덱스 활용, 그리고 파일 데이터를 데이터프레임으로 로드하는 방법을 살펴봅니다.
데이터프레임(DataFrame)이란 무엇인가요?
Pandas의 **데이터프레임(DataFrame)**은 행과 열로 구성된 2차원 데이터 구조입니다. 각 열은 서로 다른 데이터 타입을 가질 수 있으며, 데이터 테이블과 유사한 형태를 제공합니다. 데이터 분석과 시각화를 위한 주요 도구로 사용됩니다.
데이터프레임 생성 예시:
import pandas as pd
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
특정 행 찾기 (Locate Row)
Pandas의 .loc[] 메서드를 사용하면 데이터프레임에서 특정 행을 쉽게 가져올 수 있습니다.
예시:
# 특정 인덱스의 행 가져오기
row = df.loc[1]
print(row)
출력:
Name Bob
Age 30
City Los Angeles
Name: 1, dtype: object
.iloc[]를 사용하면 정수 기반 인덱스로 행을 가져올 수 있습니다:
row = df.iloc[0]
print(row)
출력:
Name Alice
Age 25
City New York
Name: 0, dtype: object
이름이 지정된 인덱스 (Named Indexes)
기본 인덱스 대신 사용자 정의 인덱스를 설정하여 데이터의 가독성을 높일 수 있습니다.
인덱스 설정:
df = pd.DataFrame(data, index=['A', 'B', 'C'])
print(df)
출력:
Name Age City
A Alice 25 New York
B Bob 30 Los Angeles
C Charlie 35 Chicago
이름이 지정된 인덱스에서 특정 행 찾기
사용자 정의 인덱스가 있는 경우 .loc[]를 사용하여 특정 행에 접근할 수 있습니다:
row = df.loc['B']
print(row)
출력:
Name Bob
Age 30
City Los Angeles
Name: B, dtype: object
파일 데이터를 데이터프레임으로 로드하기
Pandas는 CSV, Excel, JSON 등 다양한 파일 형식을 데이터프레임으로 로드하는 기능을 제공합니다.
1. CSV 파일 로드:
df = pd.read_csv('data.csv') print(df)
2. Excel 파일 로드:
df = pd.read_excel('data.xlsx') print(df)
3. JSON 파일 로드:
df = pd.read_json('data.json') print(df)
4. 파일 로드 시 옵션:
- header: 헤더 행 지정.
- index_col: 특정 열을 인덱스로 설정.
- usecols: 사용할 열 선택.
예시:
df = pd.read_csv('data.csv', index_col='ID', usecols=['ID', 'Name', 'Age'])
print(df)
결론
Pandas 데이터프레임은 데이터 분석과 조작에 필수적인 도구로, 다양한 방식으로 데이터를 효율적으로 처리할 수 있습니다. 행 찾기, 사용자 정의 인덱스 설정, 그리고 파일 로드 기능을 활용하면 데이터 관리가 훨씬 간편해집니다. 이 가이드를 따라 Pandas 데이터프레임의 기본기를 익히고, 데이터 분석 프로젝트에서 활용해 보세요.