[WIL] 6주차

성소희·2025년 3월 29일
post-thumbnail

이번주에 열심히 사용했던 Python 복습하기

라이브러리 : 우리가 자주 쓰는 함수들을 모아놓은 묶음 => 잘 정리되어있는 라이브러리를 호출하여 필요한 함수 사용 가능

라이브러리 사용을 위한 호출

전체 라이브러리 호출 시

import pandas as pd
import numpy as np
import time
from PIL import image

라이브러리 내 특정 함수만 호출 시

from matplotlib.pyplot import plot
#as는 import 문에서 별칭 붙일 때만 쓸 수 있음
#plplot 라이브러리를 직접 plt라는 이름으로 쓰겠다는 의미 =
#from matplotlib.pyplot import 함수명

Pandas 라이브러리

  • Pandas는 Numpy 기반
  • 시리즈, 데이터프레임 중심
  • 다양한 포맷을 DataFrame으로 변환 가능

1) 데이터 불러오기 & 저장하기
display(df1, df2, df3) : 테이블 여러 개 한번에 가져오기
pd.read_csv() : csv 파일 읽기 ex) df = pd.read_csv("data.csv")
df.to_csv() : csv로 저장
pd.read_excel() / df.to_excel() : 엑셀 파일 입출력
pd.read_json() / df.to_json() : JSON 포맷 입출력
pd.read_sql() / df.to_sql() : SQL DB 연동

2) DataFrame 구조 확인
df.shape : 행/열 개수 확인
df.info() : 컬럼, 결측치, 타입 확인 => 테이블 구조 한눈에 보기
df.describe() : 기초 통계 요약
df.head(n) / df.tail(n) : 앞/뒤 데이터 n줄 확인
df.columns / df.index : 컬럼명/인덱스 확인
df.dtypes : 데이터 타입 확인
len(df_1) : 각 테이블의 행(가로)길이 파악 #이 테이블이 몇 줄인지!
df_1.columns.to_list() : 값들을 리스트로 받아주는 것
df_1.values : 테이블 내 각 행들을 배열 형태로 확인

3) 결측치 및 이상치 처리
df.isna().sum() : 테이블 결측치 개수 확인
df.isnull().sum() : 테이블 결측치 개수 확인(위와 동일)
df.isnull() / notnull() : 결측치 여부 Boolean
df.dropna() : 결측치 제거
df.fillna(값) : 결측치 채우기
df.duplicated() : 중복 행 확인
df.drop_duplicates() : 중복 행 제거
df.replace() : 값 일괄 변경 ex)df.replace({'남':'M', '여':'F'})

4) 인덱싱/ 필터링/ 조건 처리
df['A'], DF[['A','B']] : 컬럼 선택 (제일 많이 사용하는 형태)
#컬럼명 대소문자 구분필수! 컬럼명은 작으 따옴표 안에 넣어주기
df_1.Category : 컬럼 선택 (잘 사용 안함)
df_1.iloc[:,4] : #은 모든 행 가져오겠다는 의미, datframe의 인덱스 번호 4번 컬럼을 가져오겠다는 의미
df_1[['컬럼1','컬럼2','컬럼3']]
df_1.iloc[:,[4,5,2,1]] : dataframe의 인덱스 번호 4번, 5번, 2번, 1번 컬럼 가져오기
df_1.where(df_1['Gender']=='Female') : .where(조건)에 만족하는 행은 정상 출력, 아닌 행은 NaN으로 반환
mask = ((df_1['Age']>30)&(df_1['Gender']=='Male')) : 2가지 조건에 부합하는 데이터만 가져오기 (조건에 맞지 않으면 반환 X)
mask 정의할 땐 꼭 ( ) 열고 닫기
mask를 적용할 땐 [ ]로 감싸기
df_1 = df_1[df_1['Age']>40] :[조건] 만족하는 데이터프레임에 해당하는 행만 필터링
df_1 = df_1.loc[df_1['Age']>50] : [조건]을 만족하는 결과 반환

5) 라이브러리
pd. + tab : 라이브러리 목록 확인 #colab에서 가능
dir(pd) : 라이브러리 목록 확인 #visual Studio에서 가능
df_1.T : 테이블 행렬 전환

6) 정렬 & 순위
df.sort_values(by='컬럼') : 값 기준 정렬 #ascending=False로 내림차순
df.sort_index() : 인덱스 기준 정렬
df['A'].rank() : 순위 부여 #등수 매길 때

내일 이어서 작성해보는 걸로!

profile
매일 한 걸음, 데이터 분석 실무자로 성장하는 기록

0개의 댓글