Series and DataFrame 은 Pandas의 가장 기본적인 데이터 타입입니다. 일단 Pandas 부터 간단하게 알아보겠습니다.

Pandas의 탄생과 발전

Pandas는 2008년, 금융 데이터 분석을 위해 Wes McKinney가 개발한 Python 라이브러리로 시작되었습니다. 당시 Python에는 데이터 조작과 분석을 효과적으로 수행할 수 있는 도구가 부족했기 때문에, R의 DataFrame 개념을 차용하여 데이터 분석에 최적화된 구조를 설계했습니다.

이후 Pandas는 오픈 소스 프로젝트로 발전하며, 커뮤니티의 기여를 받아 현재는 데이터 분석의 필수 라이브러리가 되었습니다.

Pandas는 Numpy 기반으로 설계되어 고성능 연산을 지원하며, 다양한 형식의 데이터를 쉽게 처리할 수 있도록 설계되었습니다. 특히, SQL과 유사한 데이터 처리 기능과 함께 엑셀, CSV, JSON 등의 다양한 데이터 포맷을 다룰 수 있어 데이터 분석의 표준 라이브러리로 자리 잡았습니다.

Series

  • 1차원 배열(Array)로, 인덱스(Index)값(Value)으로 구성됩니다.
  • 주로 단일 열(Column)의 데이터를 표현할 때 사용합니다.

Series Code

import pandas as pd# Series: a one-dimensional labeled array
s = pd.Series([1, 3, 5, 7, 9])
print(s)

Output

0    1
1    3
2    5
3    7
4    9
dtype: int64

DataFrame

  • 2차원 테이블(Table) 구조로, 여러 개의 Series가 열(Column)로 결합된 형태입니다.
  • 행(Index)과 열(Column) 레이블을 모두 가집니다.

DataFrame Code 1

# DataFrame: a two-dimensional data structure
df = pd.DataFrame(data=[1, 3, 5, 7, 9], index=range(0,5), columns=['A'])
print(df)

Output 1

   A
0  1
1  3
2  5
3  7
4  9

DataFrame Code 2

dates = pd.date_range("20130101", periods=6)
pd.DatetimeIndex(['2013-01-01', '2013-01-02', '2013-01-03', '2013-01-04',
'2013-01-05', '2013-01-06'],
dtype='datetime64[ns]', freq='D')
df = pd.DataFrame([[1,2,3,4],[5,6,7,8],[],[],[],[]], index=dates, columns=list("ABCD"))
print(df)

Output 2

              A    B    C    D
2013-01-01  1.0  2.0  3.0  4.0
2013-01-02  5.0  6.0  7.0  8.0
2013-01-03  NaN  NaN  NaN  NaN
2013-01-04  NaN  NaN  NaN  NaN
2013-01-05  NaN  NaN  NaN  NaN
2013-01-06  NaN  NaN  NaN  NaN

Series and DataFrame

특징SeriesDataFrame
차원1차원2차원
구조인덱스 + 단일 열 데이터인덱스 + 여러 열 데이터
사용 예시특정 날짜의 온도학생 정보, 주식 데이터, CSV 파일
생성 방법pd.Series([값], index=[인덱스])pd.DataFrame({열 이름: [값]})

Pandas는 데이터 과학, 머신러닝, 금융 분석 등에서 핵심적인 역할을 합니다. 최근에는 속도를 높이기 위해 PyArrow, Modin, Dask 등의 기술과 결합하여 빅데이터 분석까지 확장되고 있습니다.

주요 발전 방향

  • 병렬 처리 지원 (Dask, Modin과 연계)
  • GPU 가속 지원 (CuDF)
  • 대용량 데이터 프레임 최적화 (PyArrow 활용)

By Mark

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다