내 잡다한 노트
Pandas 란? 본문
Pandas는 Python에서 사용되는 데이터 분석 및 조작을 위한 강력한 라이브러리입니다. Pandas는 데이터를 효율적으로 다룰 수 있는 DataFrame과 Series라는 자료구조를 제공하며, 데이터를 정리, 조작, 분석하는 작업을 직관적이고 간단하게 수행할 수 있게 합니다.
1. Pandas의 주요 특징
- 빠르고 효율적인 데이터 구조:
- Series: 1차원 배열 형태의 데이터 구조(예: 열 데이터).
- DataFrame: 2차원 표 형태의 데이터 구조(예: 행과 열로 구성된 데이터).
- 다양한 데이터 처리 기능:
- 결측치 처리 (NaN 값 다루기)
- 데이터 필터링 및 선택
- 데이터 정렬 및 그룹화
- 데이터 병합 및 결합
- 다양한 데이터 소스 지원:
- CSV, Excel, SQL, JSON 등 다양한 파일 형식에서 데이터를 읽고 쓸 수 있습니다.
- 데이터 변환 및 조작:
- 열 추가/삭제, 데이터 필터링, 연산 수행 등 데이터 정리를 위한 다양한 기능 제공.
- 통계 및 요약 정보:
- 평균, 중간값, 합계 등 기본 통계 기능 제공.
- 데이터 요약 및 기술 통계를 간단하게 계산.
2. Pandas의 주요 자료구조
2.1. Series
- 1차원 배열 형태의 데이터로, 행 번호(인덱스)와 값으로 구성됩니다
- import pandas as pd
data = pd.Series([10, 20, 30, 40], index=['a', 'b', 'c', 'd'])
print(data)a 10
b 20
c 30
d 40
dtype: int64
2.2. 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
3. Pandas의 주요 기능
3.1. 데이터 읽기 및 쓰기
- CSV, Excel, SQL 등 다양한 형식의 파일을 읽고 쓸 수 있습니다.
- # CSV 파일 읽기
df = pd.read_csv('data.csv')
# Excel 파일 저장
df.to_excel('output.xlsx') - 3.2. 데이터 필터링 및 선택
- 특정 열이나 행 선택, 조건에 따라 데이터 필터링.
- # 특정 열 선택
df['Name']
# 조건에 따른 데이터 필터링
df[df['Age'] > 30]
- 3.5. 데이터 요약 및 그룹화
- 데이터 요약 정보 제공
- # 기본 통계 정보
df.describe()
# 그룹별 데이터 연산
df.groupby('City')['Age'].mean()
5. Pandas의 한계
- 메모리 사용량:
- 데이터가 메모리에 저장되므로, 데이터 크기가 메모리 용량을 초과하면 성능 문제가 발생할 수 있습니다.
- 대규모 데이터 처리를 위해서는 Dask 또는 PySpark와 같은 라이브러리를 고려해야 합니다.
- 병렬 처리 제한:
- Pandas는 단일 스레드로 작업을 수행하므로, 병렬 처리를 요구하는 작업에서는 성능이 제한될 수 있습니다.
- 속도:
- 매우 큰 데이터셋의 경우, NumPy 또는 더 전문화된 툴에 비해 속도가 느릴 수 있습니다.
'데이터엔지니어' 카테고리의 다른 글
데이터 웨어하우스와 데이터 레이크 등의 용어들 (0) | 2024.12.24 |
---|