Pandas는 파이썬 라이브러리 중 하나로, 데이터를 쉽고 빠르게 정리하고 분석할 수 있는 도구입니다. Pandas와 함께 자주 사용되는 라이브러리인 NumPy는 다차원 배열 객체를 제공하는 반면, Pandas는 표 형식의 데이터 작업을 위해 설계된 DataFrame 객체를 사용합니다.
Series는 Pandas의 1차원 배열 객체로, 데이터 값과 해당 값의 위치를 대표하는 인덱스로 구성됩니다. 시리즈는 1차원 배열 객체이며 데이터 값(value)와 그 값의 위치를 대표하는 인덱스(index)로 이루어져 있습니다. 예시는 아래 코드 예시를 확인하실 수 있습니다.
DataFrame은 2차원 자료 구조로, 행과 열이 있는 테이블 형식을 띄며, 각 열은 서로 다른 값 유형을 가질 수 있습니다. 각 열과 행은 각각 고유한 인덱스를 가지고 있습니다. 아래 표는 dataframe의 예시입니다.
pandas의 핵심 기능과 개념은 다음과 같습니다:
- 데이터프레임: pandas의 핵심 객체인 데이터프레임은 표 형태의 데이터를 담는 2차원 데이터 구조입니다. 열(column)과 행(row)으로 구성되며, 각 열은 서로 다른 데이터 타입을 가질 수 있습니다. 데이터프레임은 SQL의 테이블이나 Excel의 스프레드시트와 유사한 형태로 데이터를 저장하고 조작할 수 있습니다.
- 데이터 조작과 선택: pandas는 데이터프레임에서 데이터를 쉽게 조작하고 선택하는 기능을 제공합니다. 열이나 행을 선택하고 필터링하거나, 데이터를 정렬하거나 그룹화하는 등의 작업을 할 수 있습니다. 또한, 데이터의 추가, 수정, 삭제 등을 손쉽게 수행할 수 있습니다.
- 데이터 처리와 변환: pandas는 데이터의 전처리와 변환을 위한 다양한 기능을 제공합니다. 결측치 처리, 중복 데이터 제거, 데이터 형식 변경, 데이터 구조 변경 등 다양한 데이터 처리 작업을 수행할 수 있습니다. 또한, 데이터의 병합, 연결, 분할 등을 위한 기능도 제공합니다.
- 데이터 분석과 통계: pandas는 데이터 분석과 통계 작업을 위한 다양한 함수와 도구를 제공합니다. 통계적 요약 정보, 그룹별 통계, 피벗 테이블, 데이터의 변동성 계산 등 다양한 통계 분석 작업을 수행할 수 있습니다.
- 시계열 데이터 처리: pandas는 시계열 데이터 처리를 위한 특별한 기능을 제공합니다. 시계열 데이터에 대한 색인(index) 기능과 날짜/시간 관련 연산을 지원하여 시계열 데이터 분석을 용이하게 합니다.
- pandas는 데이터 분석, 데이터 전처리, 데이터 시각화 등 다양한 분야에서 많이 사용되며, 데이터 과학 및 데이터 엔지니어링 커뮤니티에서 널리 사용되는 중요한 라이브러리입니다. pandas는 NumPy와 함께 사용되면 데이터 분석과 조작을 더욱 효과적이고 편리하게 할 수 있습니다.
Pandas기본 사용 예시
데이터 프레임 & 시리즈 만들기
import numpy as np
import pandas as pd
dict_data = {'a':1,'b':2,'c':3}
series_data = pd.Series(dict_data)
series_data
#숫자말고 알파벳글자를 인덱스로 사용하자
series_data['a']
데이터 변환하기
데이터 앞, 뒤 일부 확인하기
# 딕셔너리 자료구조 변환
# 엑셀같이 만들어서 csv등으로 저장
dict_data = {'c0':[1,2,3],'c1':[4,5,6],'c2':[7,8,9],'c3':[10,11,12],'c4':[13,14,15]}
df = pd.DataFrame(dict_data)
print(type(df))
print('\n')
print(df)
#현재 코드가 있는 폴더에 파일저장
df.to_csv('./df.csv')
데이터 인덱싱
loc와 iloc는 데이터프레임에서 특정 데이터를 선택하기 위한 인덱싱 방법입니다. 주요 차이점은 인덱스의 종류와 선택 방식입니다.
loc : 인덱스의 라벨을 사용하여 데이터를 선택합니다.
iloc : 인덱스의 정수 위치를 사용하여 데이터를 선택합니다.