본문 바로가기
파이썬 (투자분석용)/Pandas 및 python 일반

Pandas 시작하기: 4일차, 데이터 불러오기 및 탐색하기

by amAToRoi 2024. 1. 25.
반응형

데이터 불러오기

Pandas의 가장 강력한 기능 중 하나는 다양한 형식의 데이터를 쉽게 불러올 수 있다는 점입니다. 가장 일반적인 형식은 CSV(쉽표로 구분된 ASCII 데이터) 파일입니다.

import pandas as pd

# CSV 파일 불러오기
df = pd.read_csv('path/to/your/file.csv')

# 처음 몇 줄 확인
print(df.head())

Pandas는 CSV 외에도 Excel, JSON, SQL 데이터베이스 및 다양한 파일 형식을 지원합니다.

데이터 탐색 메소드

데이터를 불러온 후, 기본적인 탐색을 통해 데이터의 개요를 파악할 수 있습니다.

  1. 'head()', 'tail()': 데이터프레임의 처음과 끝 부분을 보여줍니다.
  2. 'info()': 열 데이터 타입, 누락된 값 등의 정보를 제공합니다.
  3. 'describe()': 수치형 열에 대한 기술 통계를 보여줍니다.
# 데이터의 기본적인 정보 탐색
print(df.info())
print(df.describe())

데이터 선택 및 필터링

Pandas는 강력한 인덱싱 옵션을 제공하여, 데이터의 특정 부분을 쉽게 선택하고 필터링할 수 있습니다. 행이나 열을 기반으로 하는 데이터 선택에 대해서는 3일차에서 공부한 바 있습니다. 열 기반의 데이터를 쉽게 접근하는 방법은 column의 라벨을 활용하는 방법이지만, 행과 열 모두에 적용가능한 방식은 'loc'나 'iloc'를 이용한 방식임을 기억합시다. 'at', 'iat'과 같은 방식도 가능하지만 활용도 측면에서 'loc'와 'iloc'만 있다고 생각하는 것이 좋은 접근이라고 생각합니다.

Pandas는 조건을 기반으로 데이터 선택이 가능하다는 특징이 있으며, 매우 강력한 방법이므로, 조건부 선택에 익숙해질 필요가 있습니다. 간단한 예시는 다음과 같으며, Boolean Indexing 이나 Pandas 10분 완성 이란 키워드로 검색해보고 따라해 보는 것을 추천합니다.

'Pandas 10분 완성'은 pandas에서 제공하는 user guide, 10 minutes to pandas을 정~말 많은 사람들이 번역해서 올려두는 경우가 많은데, 시각적으로나 내용적으로 가장 정리가 잘 되어있다고 생각하는 포스트는 dandyrilla님의 포스트라고 생각합니다. 가보시길 추천합니다.

# 조건을 사용한 행 필터링 'Column1' 이 100을 초과하는 모든 "행"을 출력
print(df[df['Column1'] > 100])

# DataFrame을 만들고 나면, 조건을 출력해 보는 것이 도움될 것이다. boolean으로 'Column1'의 값 순서대로 True/False 의 'Series'가 반환된다.
print(df['Column1'] > 100)

# 컬럼명을 쓰지 않는다면, 모든 행과 열의 모든 값에 대해 각각 boolean 결과를 반환한다. 이는 isin 메소드 또한 동일하다.
print(df > 100)
반응형

댓글