최근 수정 시각 : 2024-03-25 22:27:01

Pandas

파일:pandas_logo.jpg
매스매티카를 이용하여 그래프를 그린 모습. 깨알 파이썬의 로고도 보인다.
1. 개요2. 역사3. 주요 특성

1. 개요

팬더스(pandas)는 파이썬의 데이터 분석 라이브러리다. 팬더스는 수치형 테이블과 시계열 데이터를 조작하고 운영하기 위한 데이터를 제공하는데, 3조항 BSD 라이선스 조건 하에서 무료로 사용 가능하다. 팬더스의 이름은 계량 경제학에서 사용되는 용어인 'PANel DAta'의 앞 글자를 따서 지어졌다. 당연히 실제 동물인 팬더와는 아무런 관련이 없지만, 이름이 이름이니만큼 각종 개발 관련 사이트에서 판다 이미지를 활용하여 팬더스를 소개하곤 한다.

팬더스는 R에서 사용되던 data.frame 구조를 본뜬 DataFrame이라는 구조를 사용하기 때문에, R의 data.frame에서 사용하던 기능 상당수를 무리없이 사용할 수 있도록 만들었다. 더욱이 파이썬이라는 접근성이 좋은 언어 기반으로 동작하기 때문에 데이터 분석을 파이썬으로 입문하는 사람들이 필수적으로 사용하는 라이브러리가 되었다.

2. 역사

개발자 웨스 메키니(Wes McKinney)는 금융 데이터에 대한 계량적 분석을 수행하기 위한 고성능의 유연한 툴을 만들 필요가 있다 생각하여, AQR Capital Management에서 근무하던 2008년부터 팬더스 개발 작업을 시작하였다. 웨스 메키니는 AQR에서 퇴사하기 전에 경영진을 설득하여 그가 개발하던 팬더스를 개방할 수 있도록 하여, 대중적으로 사용할 수 있게 되었다.

3. 주요 특성

  • 통합 인덱싱을 활용한 데이터 조작을 가능하게 하는 데이터프레임(DataFrame) 오브젝트
  • 인메모리(in-memory) 데이터 구조와 다양한 파일 포맷들 간의 데이터 읽기/쓰기 환경 지원
  • 데이터 결측치의 정렬 및 처리
  • 데이터셋의 재구조화 및 피보팅
  • 레이블 기반의 슬라이싱, 잘 지원된 인덱싱, 대용량 데이터셋에 대한 서브셋 지원
  • 데이터 구조의 칼럼 추가 및 삭제
  • 데이터셋의 분할-적용-병합을 통한 GroupBy 엔진 지원
  • 데이터셋 병합(merging) 및 조인(joining) 지원
  • 저차원 데이터에서의 고차원 데이터 처리를 위한 계층적 축 인덱싱 지원
  • date range, 빈도 변환, 이동 창 통계, 이동 창 선형회귀, 날짜 이동 등의 시계열 작업 지원
  • 데이터 필터 지원

Pandas의 주요 코드는 Python이나 C로 작성되었으며, 퍼포먼스에 최적화되어 있다.