관리 메뉴

sean의 딥다이브

파이썬 데이터 분석 입문: pandas 기본 익히기1 본문

데이터 분석 (Data analysis)

파이썬 데이터 분석 입문: pandas 기본 익히기1

sean-deepdive 2024. 8. 16. 14:50
반응형

이전 글에서 파이썬에 대한 왕👑 기초 내용에 대해 훑어보았습니다. 이번에는 파이썬으로 데이터를 분석하는데 사용되고 있는 Pandas 라는 라이브러리에 대해 알아보겠습니다.

이전 글 👉 2024.08.15 - [데이터 분석 (Data analysis)] - 파이썬 데이터 분석 입문: 초보자를 기본 파이썬 문법


1. Pandas (Python Data Analysis Library) 🐼

 

Pandas (Python Data Analysis Library) 란 데이터 조작과 분석을 위한 강력한 오픈소스 라이브러리입니다. 대규모 데이터셋을 효율적으로 처리할 수 있는 데이터 구조와 도구를 제공해주죠.📊 주요 기능으로는 CSV, Excel 등 다양한 형식의 파일 읽기/쓰기, 결측치 처리, 데이터 필터링 및 정렬, 그룹화 연산 등이 있습니다. 🍜 데이터를 정리하고, 필요한 부분만 쏙쏙 뽑아내는 것도 정말 간단해요.

 

Pandas의 핵심 데이터구조는 'DataFrame'이라는 행과 열로 구성된 2차원 테이블 형태입니다. 🧙‍♂️ 이건 마치 엑셀 시트처럼 생겼는데, 복잡한 데이터도 한눈에 쉽게 볼 수 있어요. 시간에 따라 변하는 데이터를 다루는 것도 Pandas의 특기 중 하나입니다. ⏰ 그래서 주식이나 날씨 데이터 같은 것들을 분석할 때 정말 유용하답니다.

 

Pandas만 잘 다룰 수 있다면, 데이터 전처리부터 고급 분석까지 파이썬으로 수행할 수 있어 데이터 과학 분야에서 필수적인 도구로 자리 잡았습니다. 🏆


2. 데이터 생성하기

Pandas 의 주요 데이터 형식인 DataFrame 을 만들기 위해서는 여러가지 방법이 있습니다.

  • 직접 리스트나 딕셔너리를  DataFrame 으로 변환
  • 데이터가 있는 엑셀 파일을 불러오기
  • 라이브러리로부터 데이터 불러오기

실제 현업에서는 데이터 파일을 받아서 불러오거나, 또는 사내 라이브러리 📚를 사용해서 데이터를 불러오고는 합니다. 일단은 Pandas 의 사용 방법을 익히는 연습을 하려고 하니, 라이브러리에서 데이터를 가지고 와 볼까요?

 

Python의 Pandas에는 기본적으로 내장되어 있는 데이터들이 있답니다. 타이타닉에 관련된 데이터를 가지고 올 건데요, 이 데이터는 타이타닉 호 승객들의 정보로 이루어져 있습니다. 승객의 나이, 성별, 티켓 등급, 생존 여부 등 다양한 정보가 포함되어 있어요. 🚢

 

이 데이터는 데이터 분석 입문자들에게 아주 인기 있는 데이터셋이랍니다. 왜냐하면 실제 역사적 사건을 바탕으로 하고 있으면서도, 다양한 유형의 데이터를 포함하고 있어 여러 가지 분석 기법을 연습해볼 수 있기 때문이에요. 😊

 

자, 이제 코드로 이 데이터를 불러와 볼까요?

import pandas as pd
import seaborn as sns

# 타이타닉 데이터셋 불러오기
titanic = sns.load_dataset('titanic')

3. 정보 확인하기 (info)

데이터를 처음 마주했을 때, 가장 먼저 할 일은 전체적인 구조를 파악하는 거예요. Pandas의 `info()` 메소드가 이럴 때 아주 유용합니다. 🕵️‍♂️

titanic.info()


이 명령어를 실행하면 데이터의 컬럼 이름, 각 컬럼의 데이터 타입, 그리고 결측치 여부 등을 한눈에 볼 수 있어요. 


4. 데이터 살펴보기 (head)

전체 데이터를 다 보기엔 너무 많을 때가 있죠. 이럴 때 `head()` 메소드를 사용하면 데이터의 첫 몇 줄만 볼 수 있어요.

titanic.head()


기본적으로 5줄을 보여주지만, 괄호 안에 숫자를 넣어 원하는 만큼 볼 수 있어요. 예를 들어, `titanic.head(10)`은 처음 10줄을 보여줍니다. 👀


5. 통계값 살펴보기 (describe)

데이터의 기본적인 통계 정보가 궁금하다면 `describe()` 메소드를 사용해보세요.

titanic.describe()

 

이 명령어는 숫자형 데이터의 개수, 평균, 표준편차, 최소값, 최대값 등을 보여줍니다.📊


6. 인덱싱, 슬라이싱 (loc, iloc)

특정 행이나 열을 선택하고 싶을 때는 `loc`와 `iloc`를 사용합니다. 
- `loc`: 라벨 기반 인덱싱
- `iloc`: 위치 기반 인덱싱

# 'fare' 열의 첫 5개 값 보기
titanic.loc[0:4, 'fare']

 

 

# 처음 5행, 처음 3열 선택하기
titanic.iloc[0:5, 0:3]

이렇게 하면 데이터의 특정 부분만 쏙쏙 뽑아낼 수 있어요. 🗝️


7. 조건을 이용한 필터링

특정 조건을 만족하는 데이터만 보고 싶을 때는 이렇게 해보세요:

# 20세 이상의 여성 승객만 선택
women_over_20 = titanic[(titanic['sex'] == 'female') & (titanic['age'] >= 20)]
women_over_20

 

 

이런 식으로 원하는 조건의 데이터만 필터링 할수 있어요.


8. 열 이름 변경 (rename)

때로는 열 이름이 마음에 들지 않을 수 있어요. 이럴 때는 `rename()` 메소드를 사용합니다.

titanic = titanic.rename(columns={'Sex': 'Gender', 'Age': 'Years'})


이렇게 하면 'Sex'가 'Gender'로, 'Age'가 'Years'로 바뀌어요.


9. 특정 열 기준으로 정렬(sort_values)

데이터를 특정 기준으로 정렬하고 싶을 때는 `sort_values()` 메소드를 사용합니다.

# 나이를 기준으로 오름차순 정렬
titanic_sorted = titanic.sort_values('age')
titanic_sorted.head()

 

# 운임을 기준으로 내림차순 정렬
titanic_sorted = titanic.sort_values('Fare', ascending=False)
titanic_sorted.head()

이렇게 하면 데이터를 원하는 대로 줄 세울 수 있어요.


이렇게 Pandas의 기본적인 기능들을 살펴보았어요. 이 도구들을 잘 활용하면 데이터를 자유자재로 다룰 수 있답니다. 데이터 분석의 세계로 한 걸음 더 나아간 것 같지 않나요? 🚀

반응형