제로베이스 데이터 파트타임 스쿨 학습 일지 [25.05.08]

[강의 요약]

[Part 04. EDA/웹 크롤링/파이썬 프로그래밍_ Ch 02] 강의 수강

클립 04~11까지 강의 수강하였음

🐢 100일 챌린지 🔥 : [▰▰▰▰▰▰▰▰▰▰▰▰▰▰▰▰▰▰▰▰▰▰▰▰▰▰░                                       ] 53/100일 (53%)

 

 

서울시 CCTV 현황 분석 데이터를 다뤄보려 했으나....

코드가 주피터 노트북 형식으로 작성되어 있고

모든 코드와 출력결과를 여기에 작성하는 건 사실상 강의자료 복붙이랑 다름이 없고

공부가 목적인데 캡처 붙여 넣기의 노동이라.. 비효율적이라고 생각이 들었다.

 

EDA는 개인적으로 강의 수강하면서 진행하고 블로그에는

해당 강의 차수에서 다룬 코드의 기본 사용법을 정리해서 작성하는 게 맞다고 생각했다.

그래서 예시가 꼭 필요한 상황이 아니라면 기본 코드 사용법만 정리할 예정이다.

 

 

 

[04~11_Pandas]

▶ 1. pandas란?

  • Python의 대표적인 데이터 분석 라이브러리
  • 엑셀처럼 (2차원 테이블) 형태로 데이터를 다룸
  • CSV, Excel, Json 파일을 불러오고, 정렬/필터링/통계 등도 가능
import pandas as pd      # pandas는 보통 pd로 import
import numpy as np       # 수치 연산은 numpy와 함께 사용

 

 

 

▶ 2. pandas의 핵심 자료형

  • Series
    • 1차원 배열 형태 (인덱스 + 값)
s = pd.Series([10, 20, 30])

 

  • DataFrame
    • 2차원 테이블 (행 + 열 + 값)
data = {'구별': ['강남구', '서초구'], 'CCTV': [3238, 2537]}
df = pd.DataFrame(data)

 

 

▶ 3. 파일 불러오기

df = pd.read_csv("Seoul_CCTV.csv", encoding="utf-8")  # CSV 파일 불러오기
df_excel = pd.read_excel("population.xls", header=2, usecols="B, D, G, J, N")
  • header : 읽을 때 첫 행을 어디로 볼지
  • usecols : 특정 열만 읽기

 

 

▶ 4. 기본 탐색 명령어

df.head()          # 앞쪽 5개 행 출력
df.tail()          # 뒤쪽 5개 행 출력
df.info()          # 컬럼 정보와 타입
df.describe()      # 수치형 데이터 요약 통계
df.columns         # 열 이름 리스트
df.index           # 인덱스 정보
df.values          # 값만 numpy 배열로 출력

 

 

▶ 5. 컬럼 이름 바꾸기

df.rename(columns={df.columns[0]: '구별'}, inplace=True)
  • 첫 번째 컬럼 이름을 '구별'로 변경
  • inplace=True 옵션은 원본 수정

 

 

 

▶ 6. 슬라이싱

데이터 일부 추출

  • 인덱스로 슬라이싱
df[0:5]             # 0~4번째 행 출력

 

  • loc: 이름 기반
df.loc["강남구"]                   # 인덱스 이름이 '강남구'인 행
df.loc[:, ['소계', '2016년']]      # 전체 행에서 '소계', '2016년' 컬럼만

 

  • iloc: 번호 기반
df.iloc[0]                    # 첫 번째 행
df.iloc[:, [1, 2]]            # 전체 행에서 2, 3번째 열

 

 

▶ 7. 조건 필터링

df[df["소계"] > 1000]            # '소계'가 1000보다 큰 행만 출력

 

 

▶ 8. 컬럼 삭제

df.drop("2013년도 이전", axis=1, inplace=True)
  • axis=1 → 열 삭제
  • axis=0 → 행 삭제

 

 

 

▶ 9. apply 함수

def ratio(x):
    return x / df["인구수"]

df["CCTV비율"] = df["소계"].apply(ratio)
  • apply()는 각 요소에 함수를 적용
  • 반복문 없이도 열 단위 연산이 가능

 

 

 

[요약]

  • read_csv(), read_excel(): 데이터 불러오기
  • head(), info(), describe(): 구조/요약 확인
  • rename(): 컬럼명 바꾸기
  • loc / iloc: 슬라이싱
  • 조건 필터링: df[조건]
  • drop(): 컬럼 제거
  • apply(): 사용자 함수 일괄 적용

 

 

 

[나의 생각 정리]

데이터 분석에 사용되는 Pandas의 기본 사용 방법을 정리할 수 있었다.

 

 

[적용점]

데이터 분석(EDA)

 

 

“이 글은 제로베이스 데이터 스쿨 주 3일반 강의 자료 일부를 발췌하여 작성되었습니다.”