TIL/Python

Python Library - Pandas

beady 2024. 11. 25. 15:54

오늘부로 새로이 본 캠프가 다시 시작되었고, 또 새로운 조가 구성되었다.

 

조원들과 같이 새로운 주제인 파이썬 라이브러리에 관련된 강의를 시작하게 되었고,

 

아직 기본 파이썬 강의도 소화가 안된 것 같지만, 일단 나중에 생각하고 새로운 파이썬 라이브러리에 대한 강의를 듣고 내용을 정리하려고 한다.

 

 

 

판다스(Pandas) : 데이터 분석 라이브러리

데이터 처리 뿐만 아니라 정리 및 분석을 자동으로 해주는 도구

 

- 대표하는 2가지 자료 구조

1. 데이터프레임 : 행과 열로 구성된 2차원 데이터 구조로, 판다스의 핵심 자료 구조

2. 시리즈 : 단일 열로 구성된 1차원 데이터 구조. 데이터 프레임 구성 요소 중 하나

 

- 판다스의 활용 분야 : 데이터 처리가 필요한 모든 분야에 활용됨

ex)

1. 데이터 분석

2. 데이터 전처리 : 적절한 데이터로 변환

3. 비즈니스 인텔리전스(BI) : 의사결정을 위한 데이터에서 인사이트 도출 과정

4. 금융 데이터 분석

5. 연구 및 학술 분석

기타 등등

 

 

Conda 가상환경 설정하기

 

- 가상환경 만들기


※ 현재 윈도우 사용중인데, 아래 코드는 작동을 안함. 참고 요망

conda create --name name
# --name을 플러그인으로 인식하는 것 같음


conda creat -n name
# name 이라는 이름의 가상환경을 생성

conda creat -n name python=3.8
# name 이라는 이름의 가상환경을 파이썬 3.8 버전으로 생성

 

 

- 가상환경 활성화

conda activate name
# name 가상환경 활성화

conda deactivate
# 가상환경 비활성화

 

 

- ipykernel 설치 및 주피터 노트북에 가상환경 추가하기

pip install ipykernel
# ipykernel 설치

python -m ipykernel install --user --name myenv --display-name "name"
# 주피터 노트북에 name이라는 가상환경 추가

 

 

- 가상환경 관리

conda env list
# 현재 사용 가능한 가상환경 리스트 확인

conda list
# 현재 설치된 패키지 리스트

 

 

 

 

판다스의 기본. 시리즈와 데이터 프레임

 

- 시리즈(Seires) : 1차원 배열 데이터 구조
인덱스(Index)와 데이터 값(Value)이 쌍으로 구성됨

import pandas as pd # 판다스 가져오기

# 시리즈 생성
sample = pd.Series(["beady", "Lee", "Seoul", "1"], index=["이름", "성", "주소", "학년"])
# 이름    beady
# 성       Lee
# 주소    Seoul
# 학년        1
# dtype: object (시리즈가 데이터 타입을 모두 수용할 수 있는 형태로 바꿔줌)
# dictionary 형태와 유사함

 

 

- 데이터 프레임(DataFrame) : 2차원 표 형태 데이터 구조
여러 개의 시리즈가 모여 만들어짐

# 데이터 프레임 생성
data = {
    '이름': ['철수', '영희', '민수'],
    '나이': [25, 30, 35],
    '직업': ['학생', '회사원', '프리랜서']
}

# df 출력
df = pd.DataFrame(data)
df

	이름	나이	직업
0	철수	25	학생
1	영희	30	회사원
2	민수	35	프리랜서

 

 

- 인덱스와 컬럼명을 사용해 특정 데이터 접근하기

df["이름"]
# 0    철수
# 1    영희
# 2    민수
# Name: 이름, dtype: object

df["이름"][0]
# '철수'

 

 

- 데이터 프레임 객체 값 직접 변경 : inplace 활용

df.set_index("이름", inplace = True) # df 객체 값 직접 변경
df

	나이	직업
이름		
철수	25	학생
영희	30	회사원
민수	35	프리랜서

df["나이"]
# 이름
# 철수    25
# 영희    30
# 민수    35
# Name: 나이, dtype: int64

 

 

- 데이터 타입 확인해보기

type(df)
# pandas.core.frame.DataFrame

type(df["나이"])
# pandas.core.series.Series (데이터 프레임의 각 열은 시리즈)

type(df["나이"]["철수"])
# numpy.int64 (넘파이의 int != 파이썬의 int)
  • 데이터 프레임의 단일 열을 선택할 때, 문자열 선택 시 시리즈가 반환
  • 여러 개의 열 선택 시 데이터 프레임 반환