본문 바로가기
반응형

데이터 사이언스 코딩12

데이터전처리 시계열데이터 기온시각화 pandas csv defaultdict defaultdict(list)의 활용을 중심으로 한 CSV 데이터 처리와 시각화 기초입니다. 아래에 핵심 개념, 사용 이유, 활용 예제, 결과 해석, 그리고 실무 응용 포인트를 강조해 정리해 드릴게요.✅ 오늘 학습의 핵심 요약: defaultdict(list)와 기온 데이터 분석✅ 1. 핵심 개념: collections.defaultdict(list)정의: 키가 없을 경우 자동으로 [](빈 리스트)를 기본값으로 생성하는 딕셔너리형식:from collections import defaultdict data = defaultdict(list)중요 이유:일반 딕셔너리에서는 키가 존재하지 않으면 KeyError 발생defaultdict는 키가 없을 때 자동으로 생성 → 예외 처리 필요 없음리스트를 값으로 사.. 2025. 7. 9.
정규분포 통계 머신러닝 표준정규분포 확률밀도함수 평균 표준편차 시각화 데이터샘플링 히스토그램 ✅ 정규분포 PDF 함수 구현 및 시각화 코드 (주석 포함)import numpy as npimport matplotlib.pyplot as pltimport platformimport matplotlib.font_manager as fm# ✅ 한글 폰트 설정if platform.system() == 'Windows': plt.rc('font', family='Malgun Gothic')elif platform.system() == 'Darwin': plt.rc('font', family='AppleGothic')else: plt.rc('font', family='NanumGothic')plt.rcParams['axes.unicode_minus'] = False# 정규분포 PDF 함수 정.. 2025. 7. 9.
이터레이터(iterator) 메모리 효율성과 속도 스트리밍 처리 대규모 데이터 다루기 이터레이터(iterator)를 잘 다루는 것은 데이터 분석에서 상당히 큰 활용 가치를 가집니다. 단순히 반복문을 효율적으로 돌리는 차원을 넘어서, 메모리 효율성과 속도, 스트리밍 처리, 대규모 데이터 다루기 같은 실무적인 문제 해결에 직접 연결되기 때문입니다.🔍 왜 이터레이터가 데이터 분석에서 중요한가?항목설명이터레이터 사용 시 장점메모리 효율성CSV, 로그 파일, 데이터베이스 쿼리 결과는 수십 GB 이상일 수 있음readline(), yield, itertools 등을 쓰면 전체를 메모리에 올리지 않아도 처리 가능스트리밍 처리실시간 로그, IoT 데이터, Kafka 등이터레이터는 순차적 처리에 최적화되어 있어 스트리밍 분석에 적합지연 평가(lazy evaluation)NumPy, Pandas는 eag.. 2025. 7. 3.
B-Tree 인덱스 Full Table Scan EXPLAIN 실행계획 함수에 의한 인덱스 무효화 PRIMARY UNIQUE FOREIGN KEY 1. 📌 인덱스란?항목설명정의테이블에서 원하는 데이터를 빠르게 찾기 위한 색인 구조구조MySQL 기준 대부분 B-tree 기반 (Balanced Tree)비유책의 색인(index), 도서관 카드 분류표본질검색 속도 향상 ⬆️, 쓰기 성능 저하 ⬇️, 저장 공간 증가 ⬆️2. ✅ 인덱스 사용 여부 확인 방법방법목적예시SHOW INDEX FROM 테이블명인덱스가 존재하는지 확인SHOW INDEX FROM employees;EXPLAIN SELECT ... 또는 Ctrl + Alt + X쿼리 실행 시 인덱스를 사용하는지 확인EXPLAIN SELECT * FROM employees WHERE last_name = 'KIM';INFORMATION_SCHEMA.STATISTICS전체 메타정보 조회SELECT * .. 2025. 6. 23.
Explain Current Statement 실수로 대량 데이터 삭제 갱신 방지 ✅ EXPLAIN CURRENT란?MySQL Workbench의 기능 중 하나로:현재 작성된 쿼리를 실행하지 않고, MySQL이 **어떻게 실행할 것인지 계획(Execution Plan)**을 보여주는 기능입니다.▶️ 실행 방법:메뉴: Query → Explain Current Statement단축키: Ctrl + Alt + X🔍 EXPLAIN과 EXPLAIN CURRENT의 차이항목EXPLAIN 문장EXPLAIN CURRENT사용 방식EXPLAIN SELECT ... 직접 작성쿼리 위에서 단축키 (Ctrl + Alt + X)실행 여부실행 안 함 (예측만 함)실행 안 함 (Workbench 내장 도구)결과텍스트 테이블시각적 실행 계획 (Visual Plan)대상명시된 쿼리현재 커서가 위치한 쿼리 🧠 .. 2025. 6. 20.
SQL 중첩 질의 Subquery 조인 join 외래 키 제약조건 FOREIGN KEY 트랜잭션 start commit bollback 🔹 1. 중첩 질의 (Subquery)📌 서브쿼리란?쿼리 안에 포함된 또 다른 SELECT 문주로 WHERE, FROM, SELECT, HAVING 절에 사용📊 WHERE 절에서의 중첩 질의 종류 (정리표)술어 유형연산자 예반환 행반환 열상관 쿼리 가능설명비교=, 1행1열가능단일 값과 비교집합IN, NOT IN여러 행1열가능포함 여부 판단한정ANY, ALL여러 행1열가능여러 값 중 일부/전체 비교존재EXISTS, NOT EXISTS무관무관반드시 필요결과 존재 여부 판단 ✅ 대표 예시: 고객별 평균보다 높은 주문 찾기SELECT orderid, salepriceFROM orders o1WHERE saleprice >= ( SELECT AVG(saleprice) FROM orders o2 WHER.. 2025. 6. 20.
.format() 포멧 python 파이썬 print 프린트 🔍 .format()의 인덱스 기반 자리 표시자print("{0:>2} X {1:>2} = {2:>2}".format(dan, n, dan * n))여기서 .format()은 **전달된 값의 위치(순서)**에 따라 중괄호 {} 자리에 대응시킵니다.🔢 정리해보면:자리 표시자의미실제 값{0:>2}첫 번째 인자 dan을 오른쪽 정렬(>), 2자리 폭(:2)예: 3 → " 3"{1:>2}두 번째 인자 n을 오른쪽 정렬예: 7 → " 7"{2:>2}세 번째 인자 dan * n을 오른쪽 정렬예: 21 → "21" 즉, .format(dan, n, dan * n) → 0, 1, 2 순서대로 자리 표시자에 대응됩니다.🧠 비유로 설명.format()은 마치 다음과 같습니다:args = [dan, n, dan * .. 2025. 6. 19.
얕은복사 깊은복사 참조변수 사본전달 원본전달 shallow copy deep copy 🧠 핵심 비유: 복사는 "노트 복사"다!📄 얕은 복사: "노트의 표지와 차례를 복사하지만, 안에 낀 포스트잇은 원본과 공유"📚 깊은 복사: "노트뿐 아니라 안의 포스트잇, 메모지, 첨부자료까지 전부 새로 복사"📦 구조 예시로 보기original = [1, 2, [3, 4]]복사 종류설명copy.copy(original)리스트만 새로 만들고, 내부의 [3, 4]는 공유copy.deepcopy(original)리스트도 새로, 내부의 [3, 4]도 새로 복사 🔍 차이 정리표 항목얕은 복사 (copy.copy)깊은 복사 (copy.deepcopy)복사 대상가장 바깥쪽 객체만 새로 만듦모든 내부 객체까지 새로 만듦내부 변경 영향원본과 복사본에 모두 영향복사본만 변경됨속도빠름느림메모리 사용적음많음사용 시기.. 2025. 6. 18.
python 파이썬 변수 데이터 타입 확장형for문 pop remove append insert 📘 2장 정리: 변수와 단순한 데이터 타입✅ 1. 변수는 객체를 참조하는 이름표Num = 12S2 = 'nice work'Num = S2변수 Num은 처음엔 12를, 이후엔 'nice work'를 참조함변수는 고정된 값을 담는 것이 아닌, 객체를 가리키는 포인터📌 동일 변수라도 참조하는 객체에 따라 메소드와 결과가 달라짐💡 결론: 변수는 "객체를 참조하는 이름표"이며, 변수 ≠ 객체 / 변수 → 객체🔁 2. 확장형 for문 (List Comprehension 기초)int_list = [int(s) for s in str_list]str_list 내의 문자열 요소들을 정수형으로 변환해 int_list에 저장Python은 한 줄 코딩에 강함 → 리스트 내포(List Comprehension)로 자주 .. 2025. 6. 18.
python 파이썬 install .py .ipynb 비주얼 코드 visual studo code markdown 🐍 파이썬 크래시 코스 학습 기록 – 설치 및 준비1. 📚 학습 교재 다운로드공식 사이트: https://ehmatthes.github.io/pcc_3e/파일 다운로드: .zip 파일 다운로드 가능2. 🐍 파이썬 설치✅ 권장 버전현재 최신 버전 (2025.06.17 기준): Python 3.13.5다운로드 링크: Download Python 3.13.5✅ 대체 버전 (강의자료와 맞추는 경우)Python 3.9.13 (2022.05.17)주의: Windows 7 이하에서는 사용 불가다운로드 링크: Download Windows installer (64-bit)3. ⚙️ 파이썬 설치 방법설치 실행 (Install Now)필수: Add Python 3.13.x to PATH 체크박스 체크설치 완료 후, .. 2025. 6. 18.
SELECT ORDER BY JOIN GROUP BY 조인 집계 함수 그룹별 HAVING ✅ 1. 기초 SELECT 문법 및 조건 검색목적SQL 예제설명전체 데이터 조회SELECT * FROM book;모든 컬럼 출력특정 컬럼 조회SELECT bookname, price FROM book;필요한 열만 출력조건 검색WHERE price >= 20000 WHERE bookid = 1가격 또는 ID 조건부분 일치 검색LIKE '축구%', LIKE '_구%'문자열 패턴 검색특정 범위 검색BETWEEN 10000 AND 20000가격 범위 지정OR 조건 검색publisher = '굿스포츠' OR publisher = '대한미디어'여러 값 중 하나 ✅ 2. 정렬 (ORDER BY)목적SQL 예제설명이름순 정렬ORDER BY bookname ASC알파벳/가나다순 정렬가격 → 이름 정렬ORDER BY pr.. 2025. 6. 13.
MySQL 설치 가이드 Windows용 다운로드 ✅ MySQL 설치 가이드 (Windows용, Community Edition 기준)📍 시작 페이지메뉴명: MySQL :: MySQL Downloads링크: https://dev.mysql.com/download1️⃣ MySQL Community (GPL) Downloads »무료로 공개된 MySQL 커뮤니티 에디션 다운로드 메뉴화면에서 찾을 수 있는 주요 메뉴 항목:MySQL Community ServerMySQL ClusterMySQL RouterMySQL ShellMySQL Workbench👉 MySQL Installer for Windows ← 선택2️⃣ MySQL Installer for Windows윈도우에서 MySQL 설치를 돕는 통합 설치 도구링크: https://dev.mysql.co.. 2025. 6. 11.
반응형