판다스는 프로그래밍 언어 파이썬을 사용한 데이터 조작 및 데이터 분석에 가장 널리 사용되는 소프트웨어 라이브러리입니다.
판다스는 프로그래밍 언어 파이썬을 사용한 데이터 조작 및 데이터 분석에 가장 널리 사용되는 소프트웨어 라이브러리입니다.
특별히 데이터 조작 및 분석을 위해 파이썬을 기반으로 구축된 오픈 소스 소프트웨어 라이브러리인 판다스는 강력하고 유연하며 사용하기 쉬운 데이터 분석 및 조작을 위한 데이터 구조와 연산을 제공합니다. 판다스는 파이썬에 스프레드시트 같은 데이터를 활용할 수 있는 기능을 제공하여 이 인기 있는 프로그래밍 언어를 강화하며, 다른 주요 기능 외에도 빠른 로드, 정렬, 조작 및 병합을 지원합니다. 판다스는 백엔드 소스 코드가 C 또는 파이썬으로 작성된 경우 고도로 최적화된 성능을 제공하는 것으로 평가받고 있습니다.
'판다스'라는 이름은 여러 기간에 걸친 관측치가 포함된 데이터 세트를 설명하는 계량경제학 용어 '패널 데이터'에서 유래했습니다. 판다스 라이브러리는 파이썬으로 매우 실용적인 실제 분석을 수행하기 위한 고수준 도구 또는 빌딩 블록으로 만들어졌습니다. 앞으로 판다스의 크리에이터들은 모든 프로그래밍 언어를 위한 가장 강력하고 유연한 오픈 소스 데이터 분석 및 데이터 조작 도구로 판다스를 발전시킬 생각입니다.
일각에서 파이썬으로 데이터를 분석하는 데 있어 '판도를 바꾸는 도구'라는 극찬을 받는 판다스는 소위 데이터 랭글링 또는 데이터 먼징에 가장 널리 사용되고 가장 큰 인기를 누리고 있는 도구 중 하나입니다. 이 용어는 사용할 수 없거나 오류가 있는 형태의 데이터를 최신 분석 처리에 필요한 구조 및 품질 수준으로 변환할 때 사용되는 일련의 개념 및 방법론을 가리킵니다. 판다스는 표, 행렬, 시계열 데이터와 같은 구조화된 데이터 형식을 쉽게 활용할 수 있도록 지원하는 데 매우 뛰어납니다. 또한 다른 파이썬 과학 라이브러리와도 잘 작동합니다.
판다스 오픈 소스 라이브러리에는 데이터프레임(DataFrame)이 포함되어 있습니다. 데이터프레임은 2차원 배열과 유사한 데이터 표로, 각 열에는 하나의 변수에 대한 값들, 각 행에는 각 열의 값으로 구성된 값 세트 하나가 포함됩니다. 데이터프레임에 저장된 데이터는 숫자, 팩터(factor) 또는 문자 유형일 수 있습니다. 판다스 데이터프레임은 시리즈 객체의 딕셔너리 또는 컬렉션으로도 간주됩니다.
통계 컴퓨팅을 위한 R 프로그래밍 언어에 익숙한 데이터 사이언티스트와 프로그래머는 데이터프레임이 쉽게 개관할 수 있는 그리드에 데이터를 저장하는 방법임을 알고 있을 것입니다. 즉, 판다스는 주로 데이터프레임의 형태로 머신 러닝에 사용됩니다.
판다스를 사용하면 CSV 또는 JSON 파일과 같은 다양한 형식의 표 데이터를 가져오고 내보낼 수 있습니다.
또한 판다스는 하위 집합 선택, 파생 열 생성, 정렬, 조인, 채우기, 바꾸기, 요약 통계, 그래프 그리기를 비롯한 다양한 데이터 조작 연산 및 데이터 정제 기능을 지원합니다.
프로그래밍 언어 파이썬을 위한 소프트웨어 저장소인 Python Package Index의 조직자에 따르면 판다스는 다음과 같은 다양한 종류의 데이터를 사용하는 데 적합합니다.
기타 형태의 관측/통계 데이터 세트. 판다스 데이터 구조에 배치하기 위해 데이터에 레이블을 지정하지 않아도 됩니다.
Python Package Index 조직자에 따르면 판다스는 데이터 사이언티스트와 개발자 모두에게 다음과 같은 몇 가지 주요 이점을 제공합니다.
판다스 라이브러리에서 파생되는 추가적인 이점으로는 데이터 정렬, 결측 데이터의 통합 처리, 데이터 세트 병합 및 조인, 데이터 세트의 재구성 및 피버팅, 저차원 데이터 구조로 유지된 고차원 데이터를 사용하기 위한 계층적 축 인덱싱, 레이블 기반 슬라이싱 등이 있습니다.
판다스는 파이썬 프로그래밍 언어를 기반으로 구축되었으므로 파이썬 프로그래밍 언어에 대해 간단하게 살펴보는 것이 도움이 될 것입니다.
사용 편의성 때문에 데이터 사이언티스트가 즐겨 사용하는 파이썬은 1991년에 처음 사용되기 시작해 웹 애플리케이션, 데이터 분석, 머신 러닝에서 가장 널리 사용되는 프로그래밍 언어 중 하나로 발전했습니다.
파이썬은 쉽게 사용할 수 있습니다. 즉, 파이썬 구문은 가독성이 높아 상대적으로 학습에 적은 시간을 투자한 초보자도 프로그램을 생성할 수 있습니다. 따라서 개발자와 데이터 사이언티스트는 복잡한 언어와 씨름하는 데 드는 시간을 줄이고 비즈니스 문제를 해결하는 데 더 많은 시간을 할애할 수 있습니다.
파이썬은 판다스와 같은 주요 라이브러리는 물론이고, 현재 널리 사용 중인 모든 주요 운영 체제에서 실행됩니다. 또한 API 서비스에는 래퍼(wrapper)라고 하는 파이썬 링크가 있습니다. 이를 통해 파이썬은 다른 서비스 및 라이브러리와 연동할 수 있습니다.
사용 편의성 외에 파이썬이 데이터 사이언티스트와 머신 러닝 개발자에게 인기 있는 또 다른 이유가 있습니다. 오늘날 판다스, 넘파이(Numpy) 등과 같은 데이터 처리 라이브러리, Seaborn, Matplotlib 등과 같은 데이터 시각화 도구가 등장하면서 파이썬은 머신 러닝 및 데이터 사이언티스트, 머신 러닝 시스템을 구축하는 개발자들 사이에서 링구아 프랑카(공용어)로 자리 잡았습니다.
판다스는 과학 및 비즈니스 연구 환경과 관련된 언어를 사용할 때 데이터 사이언티스트가 자주 겪는 많은 단점을 해결합니다. 데이터 사이언스에서 데이터 작업은 여러 단계로 구분됩니다. 여기에는 앞서 언급한 데이터 먼징 및 데이터 정제, 데이터 분석 및 모델링 그리고 그래프나 표 형식으로 나타내기에 적합한 형태로 분석을 구성하는 작업 등이 포함됩니다. 이러한 작업과 다른 여러 주요 업무용 데이터 사이언스 작업에 판다스가 탁월합니다.
CPU는 순차 직렬 처리에 최적화된 소수의 코어로 구성된 반면, GPU의 대규모 병렬 아키텍처는 여러 작업을 동시에 처리하도록 설계된 수천 개의 더 작고 더 효율적인 코어로 구성되어 있습니다. GPU는 CPU만 포함한 구성보다 훨씬 더 빠르게 데이터를 처리할 수 있습니다. 또한 플롭(성능)당 가격이 매우 저렴하여 인기가 높으며, 병렬 처리를 위한 멀티 코어 서버의 속도를 높여 오늘날의 컴퓨팅 성능 병목 현상을 해결하고 있습니다.
지난 몇 년간 GPU는 딥 러닝의 발전을 담당해 왔지만, ETL과 전통적인 머신 러닝 워크로드는 주로 Scikit-learn과 같은 단일 스레드 도구 또는 Spark와 같은 대규모 멀티 CPU 분산 솔루션을 사용해 지속적으로 파이썬으로 작성되어 왔습니다.
NVIDIA는 엔드투엔드 데이터 사이언스 훈련 파이프라인을 전적으로 GPU에서 실행할 수 있도록 오픈 소스 데이터 분석 및 머신 러닝 가속화 플랫폼인 RAPIDS™를 개발하였습니다. 이 제품군은 저수준 컴퓨팅 최적화를 위해 NVIDIA® CUDA® 프리미티브에 의존하지만, 사용자 친화적인 파이썬 인터페이스를 통해 GPU 병렬성 및 고대역폭 메모리를 활용할 수 있도록 지원합니다.
분석과 데이터 사이언스를 위한 일반적인 데이터 준비 작업에 중점을 둔 RAPIDS는 판다스 API와 동일한 기능을 수행하며 Apache Arrow를 기반으로 구축된 GPU 가속 데이터프레임을 제공합니다. Scikit-learn 및 다양한 머신 러닝 알고리즘과 통합되므로 일반적으로 발생하는 직렬화 비용을 지불하지 않고도 상호 운용성과 성능을 극대화합니다. 이를 통해 데이터 준비부터 머신 러닝과 딥 러닝에 이르는 엔드투엔드 파이프라인을 가속화할 수 있습니다. 또한 RAPIDS에는 멀티 노드 멀티 GPU 배포에 대한 지원도 포함되어 있어 훨씬 더 큰 규모의 데이터 세트에서 대폭적으로 가속화된 처리와 훈련을 수행할 수 있습니다.