판다스(Pandas)의 기본 이해
Pandas는 "Python Data Analysis Library"의 약자로, 주로 데이터 과학 및 분석 작업에 사용된다. 이 라이브러리는 다양한 데이터 구조를 제공하여 복잡한 데이터 분석 작업을 단순화할 수 있도록 해준다.
Pandas는 주로 Series와 DataFrame 의 두 가지 데이터 구조를 사용한다.
•
Series : 1차원 레이블이 지정된 배열로, 모든 데이터 타입(정수, 문자열, 부동 소수점 숫자 등)을 저장할 수 있다. 각 Series 객체는 단일 데이터 타입을 가지며, 각 요소는 고유한 인덱스에 의해 식별된다.
•
DataFrame : 2차원 레이블이 지정된 데이터 구조로, 행과 열로 구성된다. DataFrame은 서로 다른 데이터 타입의 열을 가질 수 있으며, 각 열은 Series 객체로 표현된다. DataFrame은 테이블 형태의 데이터를 다루는 데 매우 유용하며, SQL 테이블이나 Excel 스프레드시트와 유사한 작업을 수행할 수 있다.
1. Series 구조 이해 및 작동 원리
Series 객체는 단일 차원 배열과 유사하게 작동하며, 각 요소는 고유한 인덱스(레이블)에 매핑된다. 기본적으로, 인덱스는 0부터 시작하는 정수이지만, 문자열 또는 날짜와 같은 다른 타입으로도 지정할 수 있다.
Series 객체 생성 예제 코드
import pandas as pd
# 정수 데이터를 가진 Series 생성
s = pd.Series([1, 3, 5, 7, 9])
# 문자열 인덱스를 가진 Series 생성
s2 = pd.Series([10, 20, 30], index=['a', 'b', 'c'])
print(s)
print(s2)
Python
복사
Series 객체는 다양한 연산을 지원하며, 이는 인덱스-레이블을 유지하면서 수행된다. 또한, 판다스는 내부적으로 넘파이 라이브러리를 사용하여 계산을 수행한다. Series는 단일 열의 데이터를 표현하며, 여러 개의 Series가 결합되어 DataFrame을 형성한다.
2. DataFrame 구조 이해 및 작동 원리
DataFrame은 다양한 방식으로 데이터를 저장하고 조작할 수 있다. 각 행과 열은 레이블(일반적으로 문자열)로 식별되며, 이를 통해 데이터에 쉽게 접근이 가능하다.
DataFrame의 인덱스(index)는 각 행을 식별하는 데 사용되며, 컬럼(columns)은 각 열의 레이블을 나타낸다.
DataFrame의 기본 구조는 다음과 같다:
•
데이터 저장: 내부적으로 DataFrame은 데이터를 2차원 형태로 저장하지만, 실제로는 각 열을 별도의 Series 객체로 관리한다. 이는 DataFrame이 각 열마다 다른 데이터 타입을 가질 수 있게 한다.
•
데이터 접근: DataFrame에서 데이터에 접근하는 방법은 다양하다. 열에 접근하기 위해서는 대괄호([])와 열 이름을 사용하거나, 속성 접근 방식(.)을 사용할 수 있다. 행에 접근하기 위해서는 .loc 또는 .iloc 인덱서를 사용한다.
•
데이터 조작: DataFrame은 데이터를 추가, 삭제, 정렬, 필터링하는 등의 다양한 데이터 조작 기능을 제공한다. 또한, 결측치 처리, 데이터 타입 변환, 그룹화 및 집계 연산 등 복잡한 데이터 분석 작업을 수행할 수 있는 강력한 도구를 포함하고 있다.
•
데이터 분석: Pandas는 DataFrame에 대해 기술 통계, 상관 관계 분석, 피벗 테이블 생성 등의 데이터 분석 기능을 제공한다. 또한, 시각화를 위한 통합 지원을 통해 데이터를 쉽게 시각화할 수 있다.
DataFrame 객체 생성 예제 코드
test1 = pd.DataFrame({'class':['파문기','데분기','데분중','데분고'],
'인원':[100,200,300,40]})
test2 = pd.DataFrame({'class':['파문기','데분기','데분중','데분고'],
'벌점평균':[5,6,7,3]})
Python
복사