[강의 요약]
[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일반 강의 자료 일부를 발췌하여 작성되었습니다.”
'제로베이스 데이터 취업 파트타임 > 100일 챌린지_일일 학습 일지' 카테고리의 다른 글
제로베이스 데이터 파트타임 스쿨 학습 일지 [25.05.10] (0) | 2025.05.10 |
---|---|
제로베이스 데이터 파트타임 스쿨 학습 일지 [25.05.09] (0) | 2025.05.09 |
제로베이스 데이터 파트타임 스쿨 학습 일지 [25.05.07] (0) | 2025.05.07 |
제로베이스 데이터 파트타임 스쿨 학습 일지 [25.05.06] (0) | 2025.05.06 |
제로베이스 데이터 파트타임 스쿨 학습 일지 [25.05.05] (1) | 2025.05.05 |