<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
    <channel>
        <title>ha_.log</title>
        <link>https://velog.io/</link>
        <description></description>
        <lastBuildDate>Fri, 29 Aug 2025 07:21:14 GMT</lastBuildDate>
        <docs>https://validator.w3.org/feed/docs/rss2.html</docs>
        <generator>https://github.com/jpmonette/feed</generator>
        <copyright>Copyright (C) 2019. ha_.log. All rights reserved.</copyright>
        <atom:link href="https://v2.velog.io/rss/ha_" rel="self" type="application/rss+xml"/>
        <item>
            <title><![CDATA[성능 평가 지표]]></title>
            <link>https://velog.io/@ha_/%EC%84%B1%EB%8A%A5-%ED%8F%89%EA%B0%80-%EC%A7%80%ED%91%9C</link>
            <guid>https://velog.io/@ha_/%EC%84%B1%EB%8A%A5-%ED%8F%89%EA%B0%80-%EC%A7%80%ED%91%9C</guid>
            <pubDate>Fri, 29 Aug 2025 07:21:14 GMT</pubDate>
            <description><![CDATA[<h1 id="평가-지표">평가 지표</h1>
<h2 id="1-지도학습">1. 지도학습</h2>
<h3 id="1-분류모델-평가-지표">1) 분류모델 평가 지표</h3>
<p>분석 모형의 답과 실제 답과의 관계 오차행렬을 통해 모델을 평가함.</p>
<h4 id="1-오차행렬-confusion-matrix">1. 오차행렬 (Confusion Matrix)</h4>
<p><strong>훈련을 통한 예측 성능을 측정하기 위해 예측 값과 실제 값을 비교하기 위한 표</strong>
<img src="https://velog.velcdn.com/images/ha_/post/42861019-50ac-44a3-8f29-cec3cbff0ab3/image.png" alt=""></p>
<ul>
<li>True Positive (TP): 실제 True인 답을 True라고 예측 (정답)</li>
<li>False Positive (FP): 실제 False 답을 True라고 예측 (오답)</li>
<li>False Negative (FN): 실제 True인 답을 False라고 예측 (오답)</li>
<li>True Negative (TN): 실제 False 답을 False 예측 (정답)</li>
</ul>
]]></description>
        </item>
        <item>
            <title><![CDATA[내 연구 차별성, 기여부분 찾기]]></title>
            <link>https://velog.io/@ha_/%EB%82%B4-%EC%97%B0%EA%B5%AC-%EC%B0%A8%EB%B3%84%EC%84%B1-%EA%B8%B0%EC%97%AC%EB%B6%80%EB%B6%84-%EC%B0%BE%EA%B8%B0</link>
            <guid>https://velog.io/@ha_/%EB%82%B4-%EC%97%B0%EA%B5%AC-%EC%B0%A8%EB%B3%84%EC%84%B1-%EA%B8%B0%EC%97%AC%EB%B6%80%EB%B6%84-%EC%B0%BE%EA%B8%B0</guid>
            <pubDate>Fri, 29 Aug 2025 06:00:01 GMT</pubDate>
            <description><![CDATA[<p>이 데이터셋은 전력 스펙트럼 밀도(PSD), 요르트 매개변수, 코히어런스, 정량적 EEG(qEEG) 변수를 포함한 1,149개의 EEG 특징을 포함.</p>
<hr>
<h3 id="시계열-데이터의-전력-스펙트럼-밀도psd">시계열 데이터의 전력 스펙트럼 밀도(PSD)</h3>
<p>시계열 데이터의 전력 스펙트럼 밀도(PSD)는 주파수 대역에 따른 신호의 전력 분포로 인한 뇌의 진동 활동을 조사하기 위해 계산되었습니다. 이 중 다양한 대역의 에너지(δ, θ , α , β, 감마)는 우울증 진단에 필수적인 신경 패턴을 찾는 확률론자들에게 매우 유용한 기사입니다.</p>
<h3 id="요르스-매개변수활동성-이동성-복잡도">요르스 매개변수(활동성, 이동성, 복잡도)</h3>
<p>요르스 매개변수(활동성, 이동성, 복잡도)는 신호의 시간적 특성을 기술하기 위해 계산되며, 이를 통해 신호의 동적 특성을 측정할 수 있습니다.</p>
<ul>
<li>요르스 활동(A)
요르스 활동(A)은 다음과 같이 정의됩니다.
A =(신호의 분산)/(신호의 평균) </li>
<li>이동성?유동성?(M)
이동성은 속도, 즉 사물이 얼마나 빨리 변화하는지를 나타내는 척도</li>
<li>복잡도(C)
복잡도(C)는 신호에 잡음이 많거나 물결 모양이 있는 정도를 나타내는 척도입니다. <h3 id="다양성">다양성</h3>
다양성은 이 시리즈에서 가장 일반적인 척도인 섀넌 엔트로피를 통해 정량적으로 표현되는데, 이는 EEG 신호가 얼마나 예측 불가능하고 복잡한지를 정량화합니다. 여기서 분류기마다 추출된 특징에 대한 반응이 상당히 다르며, 특히 우울 상태와 비우울 상태에 대해 그 차이가 큽니다.</li>
</ul>
<h1 id="기존-논문과의-차별성">기존 논문과의 차별성</h1>
<ul>
<li>클래스 가중치로 불균형 보정 및 Stratified k-Fold를 통한 일반화 성능 신뢰성 확보</li>
<li><blockquote>
<p>같은 주제이더라도 자기만의 차별성으로 다를 수 있음.</p>
</blockquote>
</li>
</ul>
<h1 id="기여-부분">기여 부분</h1>
<p>-&gt; 차별화 포인트로 인해 어떤 기여를 할 수 있는 지, 차별성에 따라 기여 부분이 달라짐.</p>
]]></description>
        </item>
        <item>
            <title><![CDATA[데이터 누수]]></title>
            <link>https://velog.io/@ha_/%EB%8D%B0%EC%9D%B4%ED%84%B0-%EB%88%84%EC%88%98</link>
            <guid>https://velog.io/@ha_/%EB%8D%B0%EC%9D%B4%ED%84%B0-%EB%88%84%EC%88%98</guid>
            <pubDate>Thu, 21 Aug 2025 07:54:25 GMT</pubDate>
            <description><![CDATA[<p>데이터 누수 발생!</p>
<h1 id="데이터-누수">데이터 누수</h1>
<ul>
<li>Data Leakage(데이터 누수, 정보 누설)란 미래에 대한 전혀 알 수 없는 대한 정보가 모델 학습에서 사용된 경우를 말함.</li>
<li>즉, test 데이터가 모델의 학습에 이용된 경우를 말함.</li>
</ul>
<p>출처: DACON 톡보드 〈Data Leakage 규칙 관련 상세 설명〉, DACON.GM, 2023-02-01.<br>링크: <a href="https://dacon.io/competitions/official/236055/talkboard/407731">https://dacon.io/competitions/official/236055/talkboard/407731</a></p>
<h2 id="train-test-데이터-분리-후-전처리-후-k-fold-k-fold-후-전처리">(train, test 데이터 분리 후) 전처리 후 k-fold, k-fold 후 전처리</h2>
<p>전처리 후 k-fold하면 안되나?</p>
<h3 id="전처리-후-k-fold">전처리 후 k-fold</h3>
<ul>
<li>교차검증 CV 점수에 누수가 생김.
데이터 분리(train, test) 분리 후 전처리를 하게 되면 전처리된 train 데이터에서 한 번 더 train, validation으로 나눠야 하기 때문에 validation 데이터에 영향을 줌. </li>
</ul>
<h3 id="k-fold-후-전처리">k-fold 후 전처리</h3>
<ul>
<li>따라서 데이터 분리 후, train 데이터에 대해 train과 validation으로 나눈 후에 전처리를 해야 교차검증 데이터가 영향을 받지 않으므로 누수가 발생하지 않음!</li>
</ul>
<blockquote>
<h2 id="cv-점수">CV 점수</h2>
</blockquote>
<h3 id="변동-계수-coeffcient-of-variation-cv">변동 계수 (Coeffcient of Variation, CV)</h3>
<h4 id="정의">정의</h4>
<ul>
<li>CV 값은 데이터의 표준 편차를 평균으로 나눈 값으로, 데이터의 분산 정도를 나타내는 통계 지표<h4 id="특징">특징</h4>
</li>
<li>일발적으로 백분율로 표현되며, 데이터 세트의 상대적인 변동성을 측정함.</li>
<li>CV 값이 낮을수록 데이터가 평균에 더 가깝게 분포되어 안정적이라고 간주됨.</li>
<li>CV 값이 높을수록 데이터가 널리 퍼져 있어 불안정하다고 해석됨.</li>
</ul>
<hr>
<h1 id="numpy---hstack">Numpy - hstack</h1>
<ul>
<li>H는 Horizontal으로, 가로로 행렬 결합</li>
</ul>
]]></description>
        </item>
        <item>
            <title><![CDATA[논문 실험 - MINDCHRONO: A COMPARATIVE STUDY OF DEEP LEARNING 
MODELS FOR EEG-BASED DEPRESSION DETECTION ]]></title>
            <link>https://velog.io/@ha_/%EB%85%BC%EB%AC%B8-%EC%8B%A4%ED%97%98-MINDCHRONO-A-COMPARATIVE-STUDY-OF-DEEP-LEARNING-MODELS-FOR-EEG-BASED-DEPRESSION-DETECTION</link>
            <guid>https://velog.io/@ha_/%EB%85%BC%EB%AC%B8-%EC%8B%A4%ED%97%98-MINDCHRONO-A-COMPARATIVE-STUDY-OF-DEEP-LEARNING-MODELS-FOR-EEG-BASED-DEPRESSION-DETECTION</guid>
            <pubDate>Tue, 29 Jul 2025 06:28:29 GMT</pubDate>
            <description><![CDATA[<h1 id="논문-실험">논문 실험</h1>
<h2 id="mindchrono-a-comparative-study-of-deep-learning--models-for-eeg-based-depression-detection">MINDCHRONO: A COMPARATIVE STUDY OF DEEP LEARNING  MODELS FOR EEG-BASED DEPRESSION DETECTION</h2>
<blockquote>
<h3 id="용어">용어</h3>
</blockquote>
<h4 id="clinical-depression임상우울증">Clinical depression(임상우울증)</h4>
<p>일시적인 기분 저하부터 중증의 정신질환까지 모두 포함하는 넓은 개념 
참고: <a href="https://dictionary.apa.org/depression">APA Dictionary of Psychology - Depression</a></p>
<h4 id="depression우울증차이">depression(우울증)차이</h4>
<p>정신건강 전문가에 의해 진단된, **정신질환으로서의 주요우울장애(Major Depressive Disorder, MDD)
참고:</p>
<ul>
<li>American Psychiatric Association. (2013). DSM-5</li>
<li>WHO ICD-11: <a href="https://icd.who.int/">https://icd.who.int/</a></li>
</ul>
]]></description>
        </item>
        <item>
            <title><![CDATA[MediaPipe]]></title>
            <link>https://velog.io/@ha_/MediaPipe</link>
            <guid>https://velog.io/@ha_/MediaPipe</guid>
            <pubDate>Thu, 22 May 2025 09:57:41 GMT</pubDate>
            <description><![CDATA[<h1 id="mediapipe란">MediaPipe란?</h1>
<ul>
<li>구글에서 제공하는 멀티플랫폼 실시간 머신러닝 파이프라인 프레임워크(AI Framework)</li>
<li>비디오형식 데이터를 이용한 다양한 비전 AI 기능을 파이프라인 형태로 손쉽게 사용할 수 있도록 제공되는 프레임워크
인체를 대상으로 하는 detect(인식)에 대해서 얼굴인식, 포즈, 객체감지, 모션트레킹 등 다양한 형태의 기능과 모델을 제공하는 프레임워크</li>
<li>저스펙으로 사용가능한 가벼운 모델을 제공함. -&gt; &#39;수어 번역 시스템&#39;프로젝트의 웹에 넣기에 적합</li>
<li>android, iOS, DESKTOP, CLOUD, WEB 및 IoT 환경 전반에서 사용이 가능</li>
</ul>
<p>[주요 기능]</p>
<ul>
<li>Hand Landmarks: 손의 21개 관절 위치 추적</li>
<li>빠르고 가벼움: 실시간 웹캠 처리 가능 (YOLO보다 훨씬 빠름)</li>
<li>Pytorch와 연동 쉬움: 손 좌표를 기반으로 손만 잘라내서 CNN에 전달 가능</li>
</ul>
<p>출처: <a href="https://kwonkai.tistory.com/124">https://kwonkai.tistory.com/124</a> [주홍색 코딩:티스토리]</p>
]]></description>
        </item>
        <item>
            <title><![CDATA[딥러닝 기반 양방향 수어 번역 모델 공부]]></title>
            <link>https://velog.io/@ha_/%EB%94%A5%EB%9F%AC%EB%8B%9D-%EA%B8%B0%EB%B0%98-%EC%96%91%EB%B0%A9%ED%96%A5-%EC%88%98%EC%96%B4-%EB%B2%88%EC%97%AD-%EB%AA%A8%EB%8D%B8-%EA%B3%B5%EB%B6%80</link>
            <guid>https://velog.io/@ha_/%EB%94%A5%EB%9F%AC%EB%8B%9D-%EA%B8%B0%EB%B0%98-%EC%96%91%EB%B0%A9%ED%96%A5-%EC%88%98%EC%96%B4-%EB%B2%88%EC%97%AD-%EB%AA%A8%EB%8D%B8-%EA%B3%B5%EB%B6%80</guid>
            <pubDate>Tue, 13 May 2025 08:28:07 GMT</pubDate>
            <description><![CDATA[<blockquote>
<h3 id="사용-모델---lstm-패키지---mediapipe">사용 모델 - LSTM, 패키지 - MediaPipe</h3>
</blockquote>
<h2 id="순환-신경망recurrent-neural-network모델">순환 신경망(Recurrent Neural Network)모델</h2>
<ul>
<li>오디오, 비디오 또는 텍스트와 같은 시계열 데이터를 학습 및 처리하기 위해 만들어진 모델</li>
</ul>
<h2 id="lstm">LSTM</h2>
<ul>
<li>장단기 기억 모델로, 순환 신경망 모델의 장기 의존성을 개선한 모델</li>
<li>수어를 번역하는 애플리케이션 연구에서 사용됨.</li>
<li>본 논문에서는 LSTM을 활용하여 시계열 데이터인 비디오로부터 동적 데이터인 수어 동작을 인식하는 방법을 제안함.</li>
</ul>
<p>cf) UNet-LSTM</p>
<ul>
<li>음성에서 수어 번역 모델</li>
</ul>
<h2 id="미디어파이프mediapipe">미디어파이프(MediaPipe)</h2>
<ul>
<li>파이프라인 구축을 통해 비디오 및 오디오와 같은 인지 데이터를 처리 오픈 소스 플랫폼 프레임워크</li>
<li>Google에서 개발한 MediaPipe는 멀티모달(예: 비디오, 오디오, 시각적) 데이터를 처리하기 위한 프레임워크</li>
<li>손가락 추적, 얼굴 랜드마크 탐지, 포즈 추정 등과 같은 특정 컴퓨터 비전 작업을 위한 사전 구축된 솔루션을 제공
cf) OpenCV와 차이점</li>
<li>penCV는 기본적인 이미지 처리부터 고급 비전 알고리즘에 이르기까지 광범위한 기능을 제공하는 범용 라이브러리입니다. 반면, MediaPipe는 특정 고급 비전 작업(예: 손가락 추적, 포즈 추정)을 위한 고성능 솔루션을 제공하는 것에 더 특화되어 있음.</li>
<li>MediaPipe는 사전 구축된 솔루션을 제공하여 사용자가 쉽게 복잡한 비전 작업을 수행할 수 있게 해주는 반면, OpenCV는 사용자가 보다 많은 사용자 정의와 구현을 요구할 수 있음.
출처: <a href="https://kwakscoding.tistory.com/43">https://kwakscoding.tistory.com/43</a></li>
</ul>
<blockquote>
<h1 id="분석-과정">분석 과정</h1>
<p>활용 데이터 : 105개 문장 및 419개 단어, 한국 수어 동영상 및 각 프레임의 3D 관절 좌표 포함데이터를 미디어 파이프를 통해 동영상 관련 관절 좌표 추출</p>
</blockquote>
<hr>
<p>영상 데이터 1 초당 10개의 프레임 추출
|
v
[3D 아바타를 통한 수어 표현]
Maya 프로그램을 사용한 관절 좌표 추출 
( 각 프레임에 대한 48개의 관절 좌표 추출 (약 50개 프레임)
|
v
LSTM을 활용한 학습 (활성화 함수는 softmax, 완전연결층의 출력 개수 10)</p>
<p><img src="https://velog.velcdn.com/images/ha_/post/dbe8da49-a8cc-439e-8e4c-0cab6b5194c0/image.png" alt=""></p>
<p>[1] 이재현, 박지수, 성민기, 정세연, 유철중. “딥러닝 기반 양방향 수어 번역 시스템,” 2023 한국정보기술학회 하계 종합학술대회 논문집, pp.801-805, 2023.</p>
<hr>
<blockquote>
<h3 id="사용-모델---yolov5-패키지---mediapipe">사용 모델 - YOLOv5, 패키지 - MediaPipe</h3>
</blockquote>
<h2 id="yolov5">YOLOv5</h2>
<ul>
<li>Backbone 으로는 CSPNet 기반의 CSP-Darknet을 사용하여 이미지에서 특성 맵을 추출하고, head 에서는 추출된 특성 맵을 바탕으로 객체의 위치를 찾음.</li>
</ul>
<h2 id="3d-cnnlstm">3D CNN+LSTM</h2>
<p>[2] 김윤기, 지영채, 하정우. &quot;청각장애인을 위한 UNet-LSTM 기반의 자동 음성-수어 번역 모델&quot;, 2019 한국정보과학회 2019 한국컴퓨터종합학술대회 논문집, pp709 - 711, 2019</p>
]]></description>
        </item>
        <item>
            <title><![CDATA[29일차 - SQL(7)]]></title>
            <link>https://velog.io/@ha_/29%EC%9D%BC%EC%B0%A8-SQL7</link>
            <guid>https://velog.io/@ha_/29%EC%9D%BC%EC%B0%A8-SQL7</guid>
            <pubDate>Thu, 13 Feb 2025 07:14:17 GMT</pubDate>
            <description><![CDATA[<h1 id="7장-데이터-생성-조작과-변환">7장. 데이터 생성, 조작과 변환</h1>
<h2 id="71-문자열-데이터-처리">7.1 문자열 데이터 처리</h2>
<h3 id="char">char</h3>
<ul>
<li>고정    길이    문자열    자료형</li>
<li>지정한    크기보다    문자열이    작으면    나머지    공간을    공백으로    채움</li>
<li>MySQL:    255글자<h3 id="varchar">varchar</h3>
</li>
<li>가변    길이    문자열    자료형</li>
<li>크기만큼    데이터가    들어오지    않으면    그    크기에    맞춰    공간    할당</li>
<li>헤더에    길이    정보가    포함</li>
<li>MySQL    최대    65,536    글자    허용<h3 id="text">text</h3>
</li>
<li>매우    큰    가변    길이    문자열    저장    </li>
<li>MySQL:    최대    4    기가바이트    크기    문서    저장</li>
<li>clob:    오라클    데이터베이스</li>
</ul>
<h3 id="테이블----생성">테이블    생성</h3>
<p><img src="https://velog.velcdn.com/images/ha_/post/f12ec1ba-0b6a-4320-8761-116622f1ff83/image.png" alt=""></p>
<h3 id="문자열----데이터를----테이블에----추가">문자열    데이터를    테이블에    추가</h3>
<ul>
<li>문자열의    길이가    해당    열의    최대    크기를    초과하면    예외    발생
<img src="https://velog.velcdn.com/images/ha_/post/5b67e394-96eb-4e53-8e49-0515fe356940/image.png" alt="">
<img src="https://velog.velcdn.com/images/ha_/post/1d8081d6-66ea-4354-9dd5-f3fe39002c31/image.png" alt=""><h3 id="varchar----문자열----처리">varchar    문자열    처리</h3>
</li>
<li>update문으로    vchar_fld열    (varchar(30))에    설정    길이보다    더    긴    문자열    저장</li>
<li>MySQL    6.0    이전    버전:    문자열을    최대    크기로    자르고    경고    발생</li>
<li>MySQL    6.0    이후    기본    모드는    strict    모드로    예외    발생됨
<img src="https://velog.velcdn.com/images/ha_/post/61182f33-7b83-41b4-9966-2cd714e7da14/image.png" alt=""></li>
</ul>
<hr>
<p><img src="https://velog.velcdn.com/images/ha_/post/715b3d09-96c0-4e1d-9fdb-d5be47ff7c03/image.png" alt=""></p>
<hr>
<h3 id="작은----따옴표----포함">작은    따옴표    포함</h3>
<ul>
<li>문자열    내부에    작은    따옴표를    포함하는    경우    (I’m,    doesn’t    등    )</li>
<li>escape    문자    추가 방법
  • 작은    따옴표를    하나    더    추가<br><img src="https://velog.velcdn.com/images/ha_/post/ee831b34-cd50-4d75-af2e-ab0279e76b4b/image.png" alt="">
• 백슬래시(‘\’)    문자    추가
<img src="https://velog.velcdn.com/images/ha_/post/e7074b11-1a68-41af-9ea4-10c84eaad8cc/image.png" alt=""><h3 id="작은----따옴표----포함-1">작은    따옴표    포함</h3>
</li>
<li>quote()    내장    함수</li>
<li>전체    문자열을    따옴표로    묶고,    문자열    내부의    작은    따옴표에    escape문자를    추가
<img src="https://velog.velcdn.com/images/ha_/post/9949cac1-6285-4585-92f5-146af2966bc9/image.png" alt=""></li>
</ul>
<h2 id="712-문자열-조작">7.1.2 문자열 조작</h2>
<h3 id="length----함수----문자열의----개수를----반환">length()    함수:    문자열의    개수를    반환</h3>
<p><img src="https://velog.velcdn.com/images/ha_/post/b686c530-f4a2-42b3-a904-018ac980a8bf/image.png" alt="">
 • char열의    길이:    빈    공간을    공백으로    채우지만,    조회할    때    char데이터에서    공백    제거
 <img src="https://velog.velcdn.com/images/ha_/post/23c20f9f-b9c0-444e-8983-ed9f51d0d7c7/image.png" alt=""></p>
<h3 id="position-함수">position() 함수</h3>
<p><img src="https://velog.velcdn.com/images/ha_/post/8c433f25-f1f6-4c3c-b59e-013faca29b06/image.png" alt=""></p>
<h3 id="locate문자열----열이름----시작위치----함수">locate(‘문자열’,    열이름,    시작위치)    함수</h3>
<ul>
<li>시작 위치부터    문자열    검색:    처음    발견되는    인덱스    리턴
<img src="https://velog.velcdn.com/images/ha_/post/69b7dff3-a6a8-4a84-bb36-a71a49b295fc/image.png" alt=""></li>
</ul>
<h3 id="strcmp문자열1----문자열2-함수----문자열----비교">strcmp(‘문자열1’,    ‘문자열2’) 함수:    문자열    비교</h3>
<ul>
<li>대소문자    구분    안함<br>  • if    문자열1    &lt;    문자열2,    -1    반환:    정렬    순서에서    문자열1이    문자열2의    앞에    오는    경우
  • if    문자열1    ==    문자열2,    0 반환:    문자열이    동일
  • if    문자열1    &gt;    문자열2,        1 반환:    문자열1이    문자열2의    뒤에    오는    경우</li>
<li>string_tbl    삭제    후    새로운    데이터    추가
<img src="https://velog.velcdn.com/images/ha_/post/1b5e3fb8-39ad-4a34-ab5b-6ebacace9f1c/image.png" alt=""></li>
</ul>
<h3 id="strcmp----예제">strcmp()    예제</h3>
<ul>
<li>5개의    서로    다른    문자열    비교
<img src="https://velog.velcdn.com/images/ha_/post/6a01597d-0812-4992-98d0-da5e71767fcc/image.png" alt=""></li>
</ul>
<h3 id="select-절에----like----연산자나----regexp----연산자를-사용">SELECT 절에    LIKE    연산자나    REGEXP    연산자를 사용</h3>
<p>• 0    또는    1의    값을    반환
-&#39;y$&#39; : name 칼럼의 값이 &#39;y&#39;로 끝나면 1을 반환
<img src="https://velog.velcdn.com/images/ha_/post/d87fbba9-8326-411e-ba34-92bff4d5a25b/image.png" alt=""></p>
<h3 id="string_tbl----리셋">string_tbl    리셋</h3>
<p><img src="https://velog.velcdn.com/images/ha_/post/e48143f4-ec33-4351-9848-973114197525/image.png" alt=""></p>
<h3 id="concat----문자열----추가----함수">concat():    문자열    추가    함수</h3>
<ul>
<li>concat()    함수를    사용하여    string_tbl의    text_fld열에    저장된    문자열    수정
  • 기존    text_fld의    문자열에    &#39;,    but    now    it    is    longer’ 문자열    추가
<img src="https://velog.velcdn.com/images/ha_/post/15b4771e-7ca2-4fc1-a5c4-5f5dfc9dd14a/image.png" alt=""></li>
</ul>
<h3 id="concat----함수----활용">concat()    함수    활용</h3>
<ul>
<li>각    데이터    조각을    합쳐서    하나의    문자열    생성
  • concat()    함수    내부에서    date(create_date)를    문자열로    변환
<img src="https://velog.velcdn.com/images/ha_/post/629f79c3-431d-4a83-ba5f-d31a1b04ebc8/image.png" alt=""></li>
</ul>
<h3 id="insert----함수">insert()    함수</h3>
<ul>
<li>4개의    인수로    구성    </li>
<li>insert(문자열,    시작위치,    길이,    새로운    문자열)
  • 세    번째    인수값(길이)=0:    새로운    문자열이    삽입
<img src="https://velog.velcdn.com/images/ha_/post/6bb327e7-c1b6-480c-85c7-11d4a28c6aca/image.png" alt="">
   • 세    번째    인수값    &gt;    0:    해당    문자열로    교체
<img src="https://velog.velcdn.com/images/ha_/post/3354318b-3a35-460f-b9a5-b2f26d2eee87/image.png" alt=""></li>
</ul>
<h3 id="replace----함수">replace()    함수</h3>
<ul>
<li>replace(문자열,    기존문자열,    새로운    문자열)</li>
<li>기존    문자열을    찾아서    새로운    문자열로    교체
<img src="https://velog.velcdn.com/images/ha_/post/fa7040ca-be4e-4f4e-9159-aedd12abc980/image.png" alt=""></li>
</ul>
<h3 id="substr----또는----substring-함수">substr()    또는    substring() 함수</h3>
<ul>
<li>substr(문자열,    시작위치,    개수)</li>
<li>문자열에서    시작    위치에서    개수만큼    추출
<img src="https://velog.velcdn.com/images/ha_/post/80e85b00-a7fd-45a2-914a-277665ee690a/image.png" alt=""></li>
</ul>
<h2 id="72-숫자-데이터-처리">7.2 숫자 데이터 처리</h2>
<h3 id="산술----함수">산술    함수</h3>
<p><img src="https://velog.velcdn.com/images/ha_/post/6259b273-2766-4bcc-94bb-a0f0f1958437/image.png" alt=""></p>
<h3 id="숫자----자릿수----관리">숫자    자릿수    관리</h3>
<ul>
<li><p>ceil() 함수:    가장    가까운    정수로    올림
  • ceil(72.445)    =    73</p>
</li>
<li><p>floor()    함수:    가장    가까운    정수로    내림
  • floor(72.445)    =    72</p>
</li>
<li><p>round()    함수:    반올림
  • 소수점    자리를    정할    수    있음
  • round(72.0909,    1)    =    72.1<br>  • round(72.0909,    2)    =    72.09
  <img src="https://velog.velcdn.com/images/ha_/post/aefb1803-4eed-4109-bcef-d798201de964/image.png" alt=""></p>
</li>
<li><p>truncate(숫자,    자릿수) 함수: 자릿수 아래를 버림
 • truncate(72.0956,    1)    =    72.0
 • truncate(72.0956,    2)    =    72.09
 • truncate(72.0956,    3)    =    72.095
<img src="https://velog.velcdn.com/images/ha_/post/c7d128c4-49b3-4f59-9f81-7c286d9ed020/image.png" alt=""></p>
</li>
</ul>
<h3 id="sign함수">sign()함수</h3>
<ul>
<li>값이    음수이면    -1,    0이면    0,    양수이면    1을    반환
<img src="https://velog.velcdn.com/images/ha_/post/803f1133-3b16-4ea7-9a77-5c53a10a0cb1/image.png" alt=""></li>
</ul>
<h2 id="73-시간-데이터-처리">7.3 시간 데이터 처리</h2>
<h3 id="시간대time----zone처리">시간대(time    zone)처리</h3>
<ul>
<li>24개의    가상    영역으로    분할</li>
<li>협정    세계표준시(UTC:    Universal    Time    Coordinated)    사용</li>
<li>utc_timestamp() 함수    제공    <h3 id="시간----데이터----생성----방법">시간    데이터    생성    방법</h3>
</li>
<li>기존    date,    datetime    또는    time    열에서    데이터    복사</li>
<li>date,    datetime    또는    time을    반환하는    내장    함수    실행</li>
<li>서버에서    확인된    시간    데이터를    문자열로    표현</li>
</ul>
<p><img src="https://velog.velcdn.com/images/ha_/post/4dd55a6b-5aeb-492e-a1a0-9b218c813f8b/image.png" alt=""></p>
<h3 id="시간----데이터의----문자열----표시">시간    데이터의    문자열    표시</h3>
<ul>
<li>datetime    기본    형식:    YYYY-MM-DD    HH:MI:SS</li>
<li>datetime    열을    2022년    8월    1일    오전    09:30    으로    표현
  • ‘2022-08-01    09:30:00’ 의    문자열로    구성</li>
<li>MySQL    서버의    시간    데이터    처리
  • datetime    형식으로    표현된    문자열에서    6개의    구성요소를    분리해서    문자열을    변환</li>
<li>cast() 함수<ul>
<li>지정한    값을    다른    데이터    타입으로    변환</li>
<li>cast()    함수를    이용해서    datetime값을    반환하는    쿼리    생성
<img src="https://velog.velcdn.com/images/ha_/post/658d44d1-2fa1-4b7d-ac72-780a8b5ebae4/image.png" alt=""></li>
</ul>
</li>
</ul>
<h3 id="cast----함수">cast()    함수</h3>
<ul>
<li>date    값과    time    값을    생성
<img src="https://velog.velcdn.com/images/ha_/post/cfd6fb38-3fec-4c99-a052-1145d3e66b26/image.png" alt=""><h3 id="mysql의----문자열을----이용한----datetime----처리">MySQL의    문자열을    이용한    datetime    처리</h3>
</li>
<li>MySQL은    날짜    구분    기호에    관대<br>  • 2019년    9월    17일    오후    3시    30분에    대한    유효한    표현    방식
<img src="https://velog.velcdn.com/images/ha_/post/227f35fd-ec9c-4d32-807f-719d642f6d78/image.png" alt=""><h3 id="날짜----생성----함수">날짜    생성    함수</h3>
</li>
<li>str_to_date(str,    format)
  • 형식    문자열의    내용에    따라    datetime,    date    또는    time값을    반환
  • cast()    함수를    사용하기에    적절한    형식이    아닌    경우    사용
  • ‘September    17,    2019’    문자열을    date    형식으로    변환- str(문자열)의    형식에    맞춰    format을    설정
<img src="https://velog.velcdn.com/images/ha_/post/e07c0865-0f75-4692-a719-69908276c30f/image.png" alt=""></li>
<li>%M:    월    이름    (January    ~    December)</li>
<li>%d:    숫자로    나타낸    월(01    ~    12)</li>
<li>%Y:    연도,    4자리    숫자</li>
</ul>
<h3 id="날짜----형식의----구성----요소----format">날짜    형식의    구성    요소:    format</h3>
<p><img src="https://velog.velcdn.com/images/ha_/post/0f27dfd9-fdd6-4f61-9380-80b428f7adf9/image.png" alt=""></p>
<h3 id="str_to_datestr----format----예제">str_to_date(str,    format)    예제</h3>
<ul>
<li><p>날짜    정보가    슬래쉬(‘/’)로    구분되어    있음
<img src="https://velog.velcdn.com/images/ha_/post/14cd4096-3bc6-40cb-9574-feb9363d508f/image.png" alt=""></p>
</li>
<li><p>일,    월,    연도로    표시된    문자열을    날짜로    변환
<img src="https://velog.velcdn.com/images/ha_/post/421430b7-451a-4053-bfda-1941c87eebde/image.png" alt=""></p>
</li>
</ul>
<ul>
<li>시간    문자열을    time값으로    변환
<img src="https://velog.velcdn.com/images/ha_/post/b63a81ce-8284-40fd-bf4b-47123058b263/image.png" alt=""></li>
</ul>
<h3 id="현재----날짜시간----생성">현재    날짜/시간    생성</h3>
<ul>
<li>내장    함수가    시스템    시계를    확인해서    현재    날짜    및    시간을    문자열로    반환</li>
<li>CURRENT_DATE(),    CURRENT_TIME(),    CURRENT_TIMESTAMP()
<img src="https://velog.velcdn.com/images/ha_/post/f5e070f7-3c20-4bea-85ea-bf324ed24316/image.png" alt=""><h3 id="날짜를----반환하는----시간----함수">날짜를    반환하는    시간    함수</h3>
</li>
<li>date_add()
 • 지정한    날짜에    일정    기간(일,    월,    년    등)을    더해서    다른    날짜를    생성
<img src="https://velog.velcdn.com/images/ha_/post/80be3d3b-6215-4dce-b146-029d3220efd1/image.png" alt=""></li>
</ul>
<h3 id="기간----자료형">기간    자료형</h3>
<p><img src="https://velog.velcdn.com/images/ha_/post/58c7e621-2f46-46ee-a71b-9feeb3a75536/image.png" alt=""></p>
<h3 id="날짜를----반환하는----시간----함수-1">날짜를    반환하는    시간    함수</h3>
<ul>
<li>last_day(date)
  • 해당월의    마지막    날짜    반환
<img src="https://velog.velcdn.com/images/ha_/post/e6a1907c-25cc-467a-b627-f70eca6971e6/image.png" alt=""></li>
</ul>
<h3 id="문자열을----반환하는----시간----함수">문자열을    반환하는    시간    함수</h3>
<ul>
<li>dayname(date)    함수
  • 해당    날짜의    영어    요일    이름을    반환
<img src="https://velog.velcdn.com/images/ha_/post/408a49b8-cb69-47bb-af6a-3e9bf9d4c36c/image.png" alt=""></li>
</ul>
<h3 id="문자열을----반환하는----시간----함수-1">문자열을    반환하는    시간    함수</h3>
<ul>
<li>extract()    함수
  • date의    구성    요소    중    일부를    추출<br>  • 기간    자료형으로    원하는    날짜    요소를    정의
<img src="https://velog.velcdn.com/images/ha_/post/27d62957-aafa-42e6-b296-40d5d4f787c8/image.png" alt=""><h3 id="숫자를----반환하는----시간----함수">숫자를    반환하는    시간    함수</h3>
</li>
<li>datediff(date1,    date2) 함수
  • 두    날짜    사이의    기간(년,    주,    일)을    계산
  • 시간    정보는    무시
<img src="https://velog.velcdn.com/images/ha_/post/989b33a4-12c8-452b-b527-e319e5dbea21/image.png" alt=""></li>
</ul>
<h3 id="변환----함수">변환    함수</h3>
<ul>
<li>cast()    함수<br>  • 데이터를    한    유형에서    다른    유형으로    변환할    때    사용
  • cast(데이터    as    타입)
  <img src="https://velog.velcdn.com/images/ha_/post/b9babfd1-95b0-4aeb-ae80-e83ab0222db0/image.png" alt=""></li>
</ul>
<h2 id="71">7.1</h2>
<h2 id="71-1">7.1</h2>
]]></description>
        </item>
        <item>
            <title><![CDATA[29일차 - SQL(6)]]></title>
            <link>https://velog.io/@ha_/29%EC%9D%BC%EC%B0%A8-SQL6</link>
            <guid>https://velog.io/@ha_/29%EC%9D%BC%EC%B0%A8-SQL6</guid>
            <pubDate>Thu, 13 Feb 2025 05:16:39 GMT</pubDate>
            <description><![CDATA[<h1 id="6장-집합-연산자">6장. 집합 연산자</h1>
<h2 id="61-집합-이론">6.1 집합 이론</h2>
<p><img src="https://velog.velcdn.com/images/ha_/post/ae7f9a12-0197-4192-b868-76beb3baf586/image.png" alt=""></p>
<h2 id="62-집합-이론-실습">6.2 집합 이론 실습</h2>
<h3 id="집합----연산----규칙">집합    연산    규칙</h3>
<ul>
<li>두    데이터셋    모두    같은    수의    열(column)을    가져야    됨
<img src="https://velog.velcdn.com/images/ha_/post/e8ff39d8-0fbf-4b49-9b93-022d26b31385/image.png" alt=""></li>
</ul>
<h2 id="63-집합-연산자">6.3 집합 연산자</h2>
<h3 id="union----연산자">union    연산자</h3>
<ul>
<li>union    연산자
  • 결합된    집합을    정렬하고    중복을    제거</li>
<li>union    all    연산자<br>  • 최종    데이터셋의    행의    수는    결합되는    집합의    행의    수의    총합과    같음
  • 중복되는    모든    값을    보여줌<h3 id="union----중복----데이터----제거">union:    중복    데이터    제거</h3>
<h3 id="intersect----연산자">INTERSECT    연산자</h3>
</li>
<li>MySQL    8.0.31    버전에서    지원    </li>
<li>customer    테이블과    actor    테이블에서    first_name이    ‘D’로    시작하고,    last_name이    ‘T’로    시작하는    명단<br>검색</li>
<li>inner    join    연산자를    이용하여    공통    항목    검색
<img src="https://velog.velcdn.com/images/ha_/post/e41e955c-0df3-4e94-ba2c-db0cdf0676c2/image.png" alt=""></li>
</ul>
<h3 id="except----연산자">EXCEPT    연산자</h3>
<ul>
<li>MySQL    8.0.31    버전에서    지원
  • A    EXCEPT    B:    A의    결과에    포함된    B의    내용    제거<br><img src="https://velog.velcdn.com/images/ha_/post/59100924-b9dc-413c-b6cc-b63a80e4b2d1/image.png" alt=""></li>
</ul>
<h3 id="복합----쿼리의----결과----정렬">복합    쿼리의    결과    정렬</h3>
<ul>
<li>order    by    절을    쿼리    마지막에    추가
  •    열    이름    정의는    복합    쿼리의    첫    번째    쿼리에    있는    열의    이름을    사용해야    됨.
<img src="https://velog.velcdn.com/images/ha_/post/4402e651-bd58-4f61-82da-53b0427f4cde/image.png" alt=""></li>
</ul>
<h3 id="집합----연산의----순서">집합    연산의    순서</h3>
<ul>
<li>복합    쿼리는    위에서    아래의    순서대로    실행</li>
<li>예외:    intersect    연산자가    다른    집합    연산자보다    우선    순위가    높음
<img src="https://velog.velcdn.com/images/ha_/post/9eebc1fc-2f51-49a8-b4ca-fe1c86e9dd69/image.png" alt=""></li>
</ul>
]]></description>
        </item>
        <item>
            <title><![CDATA[29일차 - SQL(5)]]></title>
            <link>https://velog.io/@ha_/29%EC%9D%BC%EC%B0%A8-SQL5</link>
            <guid>https://velog.io/@ha_/29%EC%9D%BC%EC%B0%A8-SQL5</guid>
            <pubDate>Thu, 13 Feb 2025 04:32:38 GMT</pubDate>
            <description><![CDATA[<p>29일차 - SQL(5)</p>
<h1 id="5장-다중-테이블-쿼리">5장. 다중 테이블 쿼리</h1>
<h2 id="51-join">5.1 JOIN</h2>
<h3 id="다중-테이블-쿼리">다중 테이블 쿼리</h3>
<ul>
<li>대부분의 쿼리는 여러 테이블을 필요로 함</li>
<li>외래 키(foreign    key):    여러 테이블을 연결할 연결 수단</li>
<li>조인(JOIN)
  • 두 개 이상의 테이블을 서로 묶어서(연결) 하나의 결과 집합으로 만들어 내는 것<h2 id="51-join-join의-종류별-그림">5.1 JOIN: JOIN의 종류별 그림</h2>
<h3 id="join의----종류">JOIN의    종류</h3>
<img src="https://velog.velcdn.com/images/ha_/post/288593cf-9fba-48ab-af6a-90334b2697e6/image.png" alt=""></li>
</ul>
<h2 id="51-join-교차-조인">5.1 JOIN: 교차 조인</h2>
<h3 id="데카르트----곱-cartesian----product----교차----조인">데카르트    곱 (Cartesian    Product):    교차    조인</h3>
<ul>
<li>두    개의    테이블에서    한    테이블의    모든    행들과    다른    테이블의    모든    행을    결합</li>
<li>교차    조인(CROSS    JOIN):    JOIN의    조건이    없이    모든    행을    결합
<img src="https://velog.velcdn.com/images/ha_/post/7f32f9a5-6c19-4225-9557-76e167b25efa/image.png" alt=""></li>
</ul>
<h3 id="교차----조인">교차    조인</h3>
<ul>
<li>customer    및    address 테이블을    교차 조인
  • 결합(JOIN)의 조건 없이 모든 행을 결합<pre><code>  - 조인의 조건(ON)이 없음</code></pre><img src="https://velog.velcdn.com/images/ha_/post/2b66f7d3-3390-4db9-8a4f-1b567cf1f5f6/image.png" alt=""></li>
</ul>
<h3 id="내부----조인----inner----join----가장----일반적인----join----유형">내부    조인    (INNER    JOIN):    가장    일반적인    JOIN    유형</h3>
<ul>
<li>두    개    이상의    테이블을    묶어서    하나의    결과    집합을    만들어    내는    것
  •일반적으로    JOIN은    INNER    JOIN을    지칭
  •두    테이블에서    공통으로    존재하지    않는    데이터는    연결(JOIN)하지    않음
<img src="https://velog.velcdn.com/images/ha_/post/db1556c3-7919-4c3b-906d-03246004b987/image.png" alt=""></li>
</ul>
<h2 id="51-join-외부-조인">5.1 JOIN: 외부 조인</h2>
<h3 id="외부----조인outer----join">외부    조인(Outer    JOIN)</h3>
<ul>
<li>외부    조인
  •한쪽    테이블에만    존재하는    데이터들을    다른    테이블에    결합하는    방식
<img src="https://velog.velcdn.com/images/ha_/post/bc5393b9-5d57-46f5-8a36-c6ee8a1c2c02/image.png" alt=""></li>
</ul>
<h2 id="513-ansi-join-문법">5.1.3 ANSI JOIN 문법</h2>
<h3 id="교재의----테이블----조인----표기법">교재의    테이블    조인    표기법</h3>
<ul>
<li><p>ANSI    SQL    표준의    SQL92    버전    사용</p>
<h3 id="이전----문법----표기">이전    문법    표기</h3>
</li>
<li><p>조인 조건 및    필터    조건:    WHERE절에    표기</p>
</li>
<li><p>조인    조건과    필터    조건을    구분하기    어려움
<img src="https://velog.velcdn.com/images/ha_/post/53beac63-4468-47ff-a942-d396d4d1de5d/image.png" alt=""></p>
</li>
<li><p>SQL92    문법    표기
  • JOIN    조건:    ON 절
  • 필터    조건(검색    조건):    WHERE 절- 
<img src="https://velog.velcdn.com/images/ha_/post/49ade2ff-b81a-40af-a130-9ffc1666a4d6/image.png" alt=""></p>
</li>
</ul>
<hr>
<h2 id="52-세-개-이상-테이블-조인">5.2 세 개 이상 테이블 조인</h2>
<h3 id="세----개----이상----테이블----조인">세    개    이상    테이블    조인</h3>
<p>• Key    컬럼의    MUL:    다른    테이블의    기본    키를    참조하는    외래    키인    경우
• MUL(Multiple    Occurrences    Column):    여러    행이    동일한    값을    가질    수    있음을 의미
<img src="https://velog.velcdn.com/images/ha_/post/4409a31c-b212-4079-b618-01bc7f7663e6/image.png" alt=""></p>
<hr>
<ul>
<li>JOIN    과정에서    FROM절의    테이블    순서는    중요하지    없음:    데이터베이스    내부에서    결정
<img src="https://velog.velcdn.com/images/ha_/post/cadc6829-2416-484f-8c1e-fcf814b922ad/image.png" alt=""></li>
</ul>
<h3 id="서브----쿼리----사용">서브    쿼리    사용</h3>
<p>• 서브    쿼리(addr)    결과를    customer    테이블과    INNER    JOIN<img src="https://velog.velcdn.com/images/ha_/post/5fa1e108-327e-44d9-8b1d-b233bd5b7a91/image.png" alt="">
• 쿼리    결과</p>
<ul>
<li>California에    거주하는    모든    고객들의    이름,    성,    주소,    도시,    지역을    검색
<img src="https://velog.velcdn.com/images/ha_/post/6bd50eac-3388-4110-bd22-c5b9ce5ab348/image.png" alt=""></li>
</ul>
<h3 id="테이블----재사용">테이블    재사용</h3>
<ul>
<li>여러    테이블을    JOIN할    경우,    같은    테이블을    두    번    이상    JOIN    할    수    있음</li>
<li>두    명의    특정    배우가    출연한    영화    제목    검색
  • 조인    테이블:    film,    film_actor,    actor 테이블
<img src="https://velog.velcdn.com/images/ha_/post/9abdcdcf-2400-4490-8971-e1cad970b984/image.png" alt=""></li>
</ul>
<hr>
<p><img src="https://velog.velcdn.com/images/ha_/post/4cc0cfa5-e0d6-4f40-a52d-c8ea017d7b79/image.png" alt=""></p>
<hr>
<p><img src="https://velog.velcdn.com/images/ha_/post/f1e8576e-8825-41c9-b654-b92ee9b2a626/image.png" alt=""></p>
<hr>
<h2 id="53-셀프-조인">5.3 셀프 조인</h2>
<h3 id="셀프----조인self-join">셀프    조인(self-JOIN)</h3>
<ul>
<li>자기    자신에게    JOIN
<img src="https://velog.velcdn.com/images/ha_/post/9911926a-70d1-43f6-9b1a-803e624e0a00/image.png" alt="">
• customer_id 1(John)과 2(Mary)는 서로 배우자
• customer_id 3(Lisa)과 5(Tim)는 서로 배우자
• 고객의    이름과    배우자의    ID는    알    수    있지만,    배우자의    성과    이름은    바로    알    수    없음
• self-join을    이용하여    customer    테이블에    배우자의    성과    이름을    붙여줄    수    있음.
<img src="https://velog.velcdn.com/images/ha_/post/a7bdd782-496c-410e-bd0e-d91abc6861e0/image.png" alt="">
<img src="https://velog.velcdn.com/images/ha_/post/81141621-109e-4c6a-adec-26e9678e113b/image.png" alt="">
<img src="https://velog.velcdn.com/images/ha_/post/584b3e84-0668-464a-90bc-4bd1e7e9f756/image.png" alt=""></li>
</ul>
]]></description>
        </item>
        <item>
            <title><![CDATA[28일차 - SQL(4)]]></title>
            <link>https://velog.io/@ha_/28%EC%9D%BC%EC%B0%A8-SQL4</link>
            <guid>https://velog.io/@ha_/28%EC%9D%BC%EC%B0%A8-SQL4</guid>
            <pubDate>Wed, 12 Feb 2025 05:28:15 GMT</pubDate>
            <description><![CDATA[<h1 id="4장-필터링">4장. 필터링</h1>
<h2 id="41-조건-평가">4.1 조건 평가</h2>
<h3 id="where----절">WHERE    절</h3>
<ul>
<li><p>AND    또는    OR    연산자로    하나    이상의    조건을    포함
  • AND:    모든    조건이    true</p>
<pre><code>WHERE first_name =    &#39;STEVE&#39; AND create_date &gt;    &#39;2006-01-01&#39;</code></pre><p>   • OR:    조건    중    하나만    true이면,    해당    조건은    true</p>
<pre><code>WHERE first_name =    &#39;STEVE&#39; OR create_date &gt; &#39;2006-01-01&#39;</code></pre></li>
<li><p>괄호 사용
  • 여러 개의    조건을    포함하는 경우, 괄호를 써서    의도를    명확히    표현</p>
<pre><code>WHERE (first_name =    &#39;STEVE&#39; OR last_name = &#39;YOUNG&#39;)
AND create_date &gt;    &#39;2006-01-01</code></pre></li>
<li><p>not 연산자</p>
<pre><code>WHERE not (first_name =    &#39;STEVE&#39; OR last_name =    &#39;YOUNG&#39;)
AND create_date &gt;    &#39;2006-01-01&#39;</code></pre><p>»2006년    1월    1일    이후에    기록이    생성된    사람 중에<br>»이름이 STEVE이거나 성이 YOUNG이    아닌 행만 검색</p>
</li>
<li><p>not 연산자로    &lt;&gt;    사용</p>
<pre><code>WHERE first_name &lt;&gt; &#39;STEVE&#39; AND last_name &lt;&gt; &#39;YOUNG&#39;
AND create_date &gt;    &#39;2006-01-01</code></pre></li>
</ul>
<h2 id="42-조건-작성">4.2 조건 작성</h2>
<h3 id="조건----작성">조건    작성</h3>
<ul>
<li>하나 이상의 연산자와 결합된 표현식으로 구성</li>
<li>표현식
  • 숫자
  • 테이블    또는    뷰의    열
  • 문자열<br>  • concat()과    같은    내장    함수
  • 서브    쿼리
  • (‘Boston’, ’New YORk‘, ‘Chicago’)와 같은    표현식    목록</li>
<li>조건 연산자
  • 비교 연산자:    =,    !=,    &lt;,    &gt;,    &lt;&gt;,    like,    in,    BETWEEN
  • 산술 연산자:    +,    -,    *,    /</li>
</ul>
<h2 id="43-조건-유형">4.3 조건 유형</h2>
<h3 id="동등-조건equality----condition----열--표현값">동등 조건(equality    condition):    ‘열 = 표현/값’</h3>
<h3 id="부등-조건inequality----condition----두-표현이-동일하지-않음">부등 조건(inequality    condition):    두 표현이 동일하지 않음</h3>
<ul>
<li>&lt;&gt; 또는    != 사용<h3 id="범위-조건">범위 조건</h3>
</li>
<li>해당 식이    특정    범위    내에    있는지    확인
• 해당 날짜만 검색: date(rental_date) = ‘2005-05-25’<h3 id="범위-조건-1">범위 조건</h3>
</li>
<li>2005년    6월    14일부터    6월    16일까지의    데이터를    출력하기    위해
• date(rental_date)를 사용:    정확한    날짜만    추출<h3 id="between----연산자">BETWEEN    연산자</h3>
</li>
<li>BETWEEN [범위의 하한값] AND [범위의 상한값]
»하한값,    상한값의    위치가    바뀌면    결과    출력    없음</li>
<li>숫자 범위 사용
• 하한값과 상한값이    범위에    포함됨<h3 id="문자열----범위">문자열    범위</h3>
§last_name이 ‘FA’와 ‘FRB’로 시작하는 데이터 리턴        </li>
</ul>
<h2 id="433-멤버십-조건">4.3.3 멤버십 조건</h2>
<h3 id="or-또는-in-연산">OR 또는 IN() 연산</h3>
<ul>
<li>유한한 값의 집합으로 제한    </li>
</ul>
<h3 id="in-연산">IN() 연산</h3>
<p>• 컬럼명 IN (값1,    값2,    ...)
 • 지정한 컬럼의 값이 특정 값에    해당되는 조건을 만들    때 사용 (OR 대신    사용)</p>
<h3 id="서브----쿼리----사용">서브    쿼리    사용</h3>
<ul>
<li>값의 집합을 생성할 수 있음<pre><code>SELECT title,    rating
FROM film
WHERE rating    in (SELECT rating    FROM film    WHERE title    like &#39;%PET%&#39;);</code></pre><img src="https://velog.velcdn.com/images/ha_/post/c6d90b00-0002-42fe-9938-3510a0b6540a/image.png" alt=""></li>
</ul>
<p>• 서브 쿼리    내용
    - ‘PET’을 포함하는 영화 제목을 찾고, 그 영화 제목의 rating을 반환 (‘P’, ‘PG’)</p>
<blockquote>
<p>»‘PET%’:    PET로 시작하는 어
»‘%PET’: PET로 끝나는 단어
»‘%PET%’: PET를 포함하는    단어</p>
</blockquote>
<pre><code>SELECT title,    rating    FROM film    WHERE title    like &#39;%PET%&#39;;</code></pre><p><img src="https://velog.velcdn.com/images/ha_/post/50f74e6d-46fb-4db0-bae3-0e8aa02177d0/image.png" alt=""></p>
<p>• WHERE    절 내용</p>
<ul>
<li>WHERE rating in (&#39;G&#39;,    &#39;PG&#39;);</li>
</ul>
<h3 id="not----in----사용">NOT    IN    사용</h3>
<ul>
<li>표현식 집합 내에    존재하지 않음
• NOT    IN(‘PG-13’,    ‘R’,    ‘NC-17’)- 영화    등급이    ‘PG-13’,    ‘R’,    ‘NC-17’이    아닌    모든    영화를    찾음
• NOT    IN(‘PG-13’,    ‘R’,    ‘NC-17’)- 영화    등급이    ‘PG-13’,    ‘R’,    ‘NC-17’이    아닌    모든    영화를    찾음    </li>
</ul>
<h2 id="434-일치-조건">4.3.4 일치 조건</h2>
<h3 id="문자열----부분----가져오기">문자열    부분    가져오기</h3>
<ul>
<li><p>left(문자열,    n)
• 문자열의    가장    왼쪽부터    n개    가져옴
<img src="https://velog.velcdn.com/images/ha_/post/1abaa669-0b8c-41f9-8ec4-13746290ee6d/image.png" alt=""></p>
</li>
<li><p>mid(문자열,    시작    위치,    n),<br>• substr(문자,    시작    위치,    n)도    동일한    기능    수행:    시작    위치는    1부터    시작
<img src="https://velog.velcdn.com/images/ha_/post/0f98da7a-60fc-4285-915d-6a5c817e2f44/image.png" alt=""></p>
</li>
<li><p>right(문자열,    n)
• 문자열의    가장    오른쪽부터    n개    가져옴
<img src="https://velog.velcdn.com/images/ha_/post/240ebf7d-678a-4292-87ca-37c28faa43c1/image.png" alt=""></p>
<h3 id="와일드----카드">와일드    카드</h3>
</li>
<li><p>‘_’:    정확히    한    문자</p>
</li>
<li><p>‘%’:    개수에    상관없이    모든    문자    포함</p>
</li>
</ul>
<h3 id="일치----조건matching----condition">일치    조건(matching    condition)</h3>
<ul>
<li>와일드    카드    사용시    LIKE 연산자를    사용
<img src="https://velog.velcdn.com/images/ha_/post/6cf9a6ed-486b-4ca0-86da-41aa3e5ddb0a/image.png" alt=""></li>
<li>‘<em>A</em>T%S’:
<img src="https://velog.velcdn.com/images/ha_/post/7a1778a3-001a-42ab-ac21-31e036f8e3da/image.png" alt=""></li>
</ul>
<h3 id="정규----표현식----사용">정규    표현식    사용</h3>
<ul>
<li>‘^[QY]’:    Q    또는    Y로    시작하는    단어    검색
<img src="https://velog.velcdn.com/images/ha_/post/f2be2c72-732c-4859-8f2c-50462012be85/image.png" alt=""></li>
</ul>
<h3 id="null값의----다양한----경우">Null값의    다양한    경우</h3>
<ul>
<li>해당    사항    없음</li>
<li>아직    알려지지    않은    값</li>
<li>정의되지    않은    값<h3 id="null----확인-방법">Null    확인 방법</h3>
</li>
<li>is    null    사용    (=    null)<h3 id="is----not----null">is    not    null</h3>
</li>
<li>열에    값이    할당되어    있는    경우    (null이    아닌    경우)<h3 id="null과----조건----조합">Null과    조건    조합</h3>
</li>
<li>2005년    5월에서    8월    사이에    반납되지    않은    대여    정보    검색<br>• 반납이    되지    않은    경우,    반납    날짜의    값이    NULL
• 또는    반납    날짜가    2005년    5월~    2005년    8월    사이가    아닌    경우<br><img src="https://velog.velcdn.com/images/ha_/post/ae8eecf5-1107-46c8-87b4-6990ab387b4e/image.png" alt=""></li>
</ul>
]]></description>
        </item>
        <item>
            <title><![CDATA[28일차 - SQL(3)]]></title>
            <link>https://velog.io/@ha_/28%EC%9D%BC%EC%B0%A8-SQL3</link>
            <guid>https://velog.io/@ha_/28%EC%9D%BC%EC%B0%A8-SQL3</guid>
            <pubDate>Wed, 12 Feb 2025 05:17:02 GMT</pubDate>
            <description><![CDATA[<h1 id="3장-쿼리입문">3장. 쿼리입문</h1>
<h2 id="32-쿼리query-절">3.2. 쿼리(query) 절</h2>
<h3 id="select문">select문</h3>
<p><img src="https://velog.velcdn.com/images/ha_/post/362fe2f4-c672-43b6-9450-365bc679ade8/image.png" alt=""></p>
<h2 id="33-select-절">3.3. Select 절</h2>
<h3 id="select-절">select 절</h3>
<ul>
<li><ul>
<li>(asterisk):    모든 열을 지정<h3 id="select절에-추가할-수-있는-항목">Select절에 추가할 수 있는 항목</h3>
</li>
</ul>
</li>
<li>숫자 또는 문자열</li>
<li>표현식</li>
<li>내장 함수 호출 및 사용자 정의 함수 호출<pre><code>SELECT    language_id,
&#39;COMMON&#39;    language_usage,
language_id    *    3.14    lang_pi_value,
upper(name)    language_name
FROM    language;</code></pre></li>
<li>원래 language 테이블에는 없는 컬럼 (가상 컬럼)
<img src="https://velog.velcdn.com/images/ha_/post/d672465e-a25d-466f-b391-8c3dcf39eb8f/image.png" alt=""></li>
</ul>
<h3 id="열의-별칭column-alias">열의 별칭(column alias)</h3>
<ul>
<li>열의 레이블을 지정할 수 있음</li>
<li>출력을 이해하기 쉽게 함</li>
<li>AS(as) 키워드 사용: 가독성 향상</li>
</ul>
<h3 id="중복-제거">중복 제거</h3>
<ul>
<li>동일한 배우가 여러 영화에 출연: 중복된 actor_id 발생<ul>
<li>all    키워드: 기본값, 명시적으로 지정할 필요가 없음</li>
</ul>
</li>
<li>DISTINCT(또는 distinct) 키워드 사용:    중복 제거<pre><code>SELECT    DISTINCT    actor_id    FROM    film_actor    ORDER    BY    actor_id;</code></pre></li>
</ul>
<h2 id="34-from-절">3.4 From 절</h2>
<h3 id="from-절-역할">From 절 역할</h3>
<ul>
<li>쿼리에 사용되는 테이블을 명시</li>
<li>테이블을 연결하는 수단</li>
</ul>
<h3 id="테이블-유형-from-절에-포함">테이블 유형: from 절에 포함</h3>
<ul>
<li>영구 테이블(permanent    table)<ul>
<li>CREATE    TABLE 문으로 생성된 테이블</li>
<li>실제 데이터베이스에 존재하는 테이블</li>
</ul>
</li>
<li>파생 테이블(derived    table)<ul>
<li>하위 쿼리(subquery)에서 반환하고 메모리에 보관된 행</li>
</ul>
</li>
<li>임시 테이블(temporary    table)<ul>
<li>메모리에 저장된 휘발성 데이터</li>
</ul>
</li>
<li>가상 테이블(virtual table)<ul>
<li>CREATE VIEW 문으로 생성</li>
</ul>
</li>
</ul>
<h3 id="파생-테이블">파생 테이블</h3>
<ul>
<li>subquery(서브 쿼리):    9장 참조
  • FROM 절에 위치한 SELECT문(서브 쿼리)은 실행 결과로 테이블을 생성: 파생 테이블
  • 즉, 다른 테이블과의 상호작용을 할 수 있는 파생 테이블을 생성</li>
<li>** concat(문자열1, 문자열2, ...): 둘 이상의 문자열을 순서대로 합쳐서 반환**
<img src="https://velog.velcdn.com/images/ha_/post/5c26c3a5-a8d4-46e0-a9ff-175d38b1e5e7/image.png" alt=""></li>
</ul>
<h3 id="임시-테이블">임시 테이블</h3>
<ul>
<li>휘발성의 테이블: 데이터베이스 세션이 닫힐 때 사라짐<br><img src="https://velog.velcdn.com/images/ha_/post/162da5db-492f-4530-91f6-2e90c87a147f/image.png" alt=""></li>
</ul>
<h3 id="가상-테이블view">가상 테이블(View)</h3>
<ul>
<li>SQL 쿼리의 결과 셋을 기반으로 만들어진 가상 테이블</li>
<li>실제 데이터가 저장되는 것이 아닌, view를 통해 데이터를 관리</li>
<li>복잡한 쿼리문을 매번 사용하지 않고 가상 테이블로 만들어서 쉽게 접근함!<a href="https://velog.velcdn.com/images/ha_/post/57984a3a-0928-4e51-93b6-2e640685eb5c/image.png"></a></li>
</ul>
<h2 id="35-where-절">3.5. Where 절</h2>
<h3 id="테이블-연결">테이블 연결</h3>
<ul>
<li>JOIN(INNER JOIN)
  • 두 개 이상의 테이블을 묶어서 하나의 결과 집합을 만들어 내는 것
  <img src="https://velog.velcdn.com/images/ha_/post/5050f2d9-f414-4ba1-b3ab-a3efe0c36e5f/image.png" alt="">
  • 연결(결합) 조건: on<pre><code>  - customer 테이블의 customer_id와 rental 테이블의 customer_id의 값이 일치하는 경우에만 데이터를 가져옴.</code></pre></li>
</ul>
<h3 id="테이블-연결-1">테이블 연결</h3>
<ul>
<li>customer 테이블과 rental    테이블 확인<ul>
<li>두 테이블은 customer_id로 연결되어 있음
<img src="https://velog.velcdn.com/images/ha_/post/ae8efcee-3c31-4dff-b564-25afc2104462/image.png" alt=""></li>
</ul>
</li>
</ul>
<h3 id="datetime-데이터">DATETIME 데이터</h3>
<ul>
<li><p>date() 함수
  • datetime 데이터에서 date 정보(YYYY-MM-DD)만 추출
  <img src="https://velog.velcdn.com/images/ha_/post/973fdc9b-a608-4743-a2be-d5218ae78b11/image.png" alt=""></p>
</li>
<li><p>time() 함수
  • time 정보(HH:MI:SS)    정보만 추출
  <img src="https://velog.velcdn.com/images/ha_/post/4d7d4fe7-e7a8-4674-904b-14520011b61b/image.png" alt=""></p>
</li>
</ul>
<h3 id="테이블-연결inner-join-결과">테이블 연결(inner join) 결과</h3>
<pre><code> SELECT    customer.first_name,    customer.last_name,
 time(rental.rental_date)    rental_date
 FROM    customer    inner    join    rental
 ON    customer.customer_id    =    rental.customer_id
 WHERE    date(rental.rental_date)    =    &#39;2005-06-14&#39;;</code></pre><p><img src="https://velog.velcdn.com/images/ha_/post/a28545bf-4b2a-42cd-b068-fcb22a70887e/image.png" alt=""></p>
<h3 id="테이블-별칭-정의">테이블 별칭 정의</h3>
<ul>
<li>여러 테이블을 join할 경우, 테이블 및 열 참조 방법
  • 테이블 이름 및 열 이름 사용
  • 각 테이블의 별칭을 할당하고 쿼리 전체에서 해당 별칭을 사용<pre><code>  - AS    키워드 사용
  ![](https://velog.velcdn.com/images/ha_/post/5567e4a3-4b2a-4727-ae7f-1153edeb6ead/image.png)</code></pre></li>
</ul>
<h3 id="where-절">where 절</h3>
<ul>
<li>필터 조건: 조건에 맞는 행의 데이터만 가져옴
  • AND,    OR,    NOT 연산자 사용</li>
</ul>
<h3 id="where절-검색-조건">Where절 검색 조건</h3>
<ul>
<li>and, or 사용
  • (G등급이면서 7일 이상 대여할 수 있거나), (PG-13 등급이면서 3일 이내로 대여)할 수 있는 영화 목록</li>
</ul>
<h2 id="36-group-by절과-having절">3.6 Group by절과 having절</h2>
<h3 id="group-by">GROUP BY</h3>
<ul>
<li>열(column)의 데이터를 그룹화<pre><code>SELECT    컬럼 FROM    테이블 GROUP    BY    그룹화할 컬럼;</code></pre><h3 id="having----필터링-조건">HAVING    (필터링 조건)</h3>
</li>
<li>특정 열을 그룹화한 결과에 필터링 조건을 설정: group    by 이후에 having    위치
  • WHERE: 모든 필드에 대한 필터링 수행, from 다음에 위치<ul>
<li>count(*):    그룹화 한 전체 행의 수</li>
</ul>
</li>
</ul>
<h2 id="37-order-by-절">3.7 Order by 절</h2>
<h3 id="order-by-절">order by 절</h3>
<pre><code>ORDER    BY [컬럼명 |    컬럼번호] [ASC    |    DESC]</code></pre><ul>
<li>지정된 컬럼(열)을 기준으로 결과를 정렬 (다중 컬럼인 경우, 왼쪽부터 정렬)</li>
<li>오름차순(ASC): 기본 정렬 값, 내림차순(DESC)
• 영화 대여 고객의 last_name을 기준으로 정렬- 오름 차순 정렬 (asc는 생략 가능)
• 고객 중 last_name이 동일한 경우,- first_name 으로 다시 정렬</li>
</ul>
<h3 id="내림-차순-정렬-desc">내림 차순 정렬: DESC</h3>
<h3 id="컬럼의-순서컬럼의-인덱스를-통한-정렬">컬럼의 순서(컬럼의 인덱스)를 통한 정렬</h3>
<ul>
<li>order    by 다음에 정렬 기준이 되는 컬럼의 순서(index)를 사용</li>
</ul>
]]></description>
        </item>
        <item>
            <title><![CDATA[27일차 - SQL(2)]]></title>
            <link>https://velog.io/@ha_/27%EC%9D%BC%EC%B0%A8-SQL</link>
            <guid>https://velog.io/@ha_/27%EC%9D%BC%EC%B0%A8-SQL</guid>
            <pubDate>Tue, 11 Feb 2025 08:23:56 GMT</pubDate>
            <description><![CDATA[<h1 id="2장-데이터베이스-생성과-데이터-추가">2장 데이터베이스 생성과 데이터 추가</h1>
<h2 id="데이터베이스">데이터베이스</h2>
<ul>
<li>‘데이터의 집합’</li>
<li>여러 사용자나 응용 프로그램이 공유하고 동시에 접근 가능한 데이터</li>
<li>‘데이터의 저장 공간’ 자체를 의미하기도 함</li>
</ul>
<h2 id="dbmsdatabase----management----system">DBMS(Database    Management    System)</h2>
<ul>
<li>데이터베이스를 관리·운영하는 소프트웨어</li>
<li>사용자나 응용 프로그램은 DBMS가 관리하는 데이터에 동시에 접속하여 데이터를 공유함.</li>
</ul>
<h2 id="데이터베이스의정의와특징">데이터베이스의정의와특징</h2>
<h3 id="데이터베이스의-특징">데이터베이스의 특징</h3>
<ul>
<li>데이터의 무결성<br>  • 데이터베이스 안의 데이터는 어떤 경로를 통해 들어왔든 오류가 없어야 함</li>
<li>데이터의 독립성<br>  • 데이터베이스와 응용 프로그램은 서로 의존적인 관계가 아니라 독립적인 관계임</li>
<li>보안<br>  • 데이터베이스 안의 데이터는 데이터를 소유한 사람이나 데이터에 접근이 허가된 사람만 접근할 수 있음</li>
<li>데이터 중복 최소화<br>  • 데이터베이스에서는 동일한 데이터가 여러 군데 중복 저장되는 것을 방지함</li>
<li>응용 프로그램 제작 및 수정 용이<br>  • 통일된 방식으로 응용 프로그램을 작성할 수 있고 유지·보수 또한 쉬움</li>
<li>데이터의 안전성 향상<br>  • 데이터가 손상되는 문제가 발생하더라도 원래의 상태로 복원 또는 복구할 수 있음</li>
</ul>
<h2 id="데이터베이스-발전">데이터베이스 발전</h2>
<h3 id="오프라인-관리">오프라인 관리</h3>
<ul>
<li>종이에 기록해 장부로 관리<h3 id="파일시스템사용">파일시스템사용</h3>
</li>
<li>컴퓨터파일에기록/저장:엑셀등활용</li>
<li>데이터의양이많아지면데이터의관리가어려움</li>
<li>데이터중복발생가능</li>
</ul>
<h2 id="데이터베이스발전">데이터베이스발전</h2>
<h3 id="데이터베이스-관리시스템">데이터베이스 관리시스템</h3>
<ul>
<li>파일시스템의 단점 보완</li>
<li>대용량의 데이터를 보다 효율적으로 관리하고 운영하기 위해 사용</li>
<li>데이터의 집합인 데이터베이스를 잘 관리하고 운영하기 위한 시스템 또는 소프트웨어<h3 id="sqlstructured----query----language">SQL(Structured    Query    Language)</h3>
</li>
<li>DBMS에 데이터 구축/관리/활용을 위해 사용되는 언어</li>
<li>DBMS를 통해 중요한 정보들을 입력, 관리, 추출</li>
</ul>
<h2 id="관계형모델">관계형모델</h2>
<h3 id="관계형-dbms">관계형 DBMS</h3>
<pre><code>- 모든 데이터는 테이블에 저장
- 테이블 간의 관계는 기본키(PK)와 외래키(FK)를 사용하여 맺음(부모-자식 관계)</code></pre><h3 id="장점">장점</h3>
<ul>
<li>다른 DBMS에 비해 업무 변화에 따라 바로 순응</li>
<li>유지·보수 측면에서 편리</li>
<li>대용량 데이터를 체계적으로 관리할 수 있음</li>
<li>데이터의 무결성(integrity)이 잘 보장됨
  • 정확한 데이터가 유지됨을 보장<h3 id="단점">단점</h3>
</li>
<li>시스템 자원을 많이 차지</li>
<li>시스템이 전반적으로 느려지는 단점이 있음 (하드웨어 발전으로 해결)</li>
</ul>
<h2 id="주요용어">주요용어</h2>
<h3 id="테이블의-구조와-관련-용어">테이블의 구조와 관련 용어</h3>
<p><img src="https://velog.velcdn.com/images/ha_/post/0e5fd737-a74a-4e92-ae77-6f9a79146fc8/image.png" alt="">
<img src="https://velog.velcdn.com/images/ha_/post/e632ea1d-cf32-403a-959e-5fb9301c06c8/image.png" alt=""></p>
<h2 id="sql의-개요">SQL의 개요</h2>
<h3 id="sqlstructed----query----language----sequel">SQL(Structed    Query    Language,    Sequel)</h3>
<ul>
<li>데이터베이스를 조작하는 언어</li>
<li>구조화된 질의 언어<h3 id="sql의-특징">SQL의 특징</h3>
</li>
<li>DBMS    제작 회사와 독립적임</li>
<li>다른 시스템으로의 이식성이 좋음</li>
<li>표준이 계속 발전함</li>
<li>대화식 언어임</li>
<li>클라이언트/서버 구조 지원함<h3 id="표준-sql과-각-회사의-sql">표준 SQL과 각 회사의 SQL</h3>
</li>
<li>많은 회사가 되도록 표준 SQL을 준수하려고 노력</li>
<li>각 회사의 DBMS마다 특징이 있기때문에 현실적으로 완전히 통일되기는 어려움</li>
<li>각 회사의 제품은 모두 표준 SQL을 공통으로 사용하면서 자기 제품의 특성에 맞춘 호환되지 않는 SQL문 사용</li>
</ul>
<h2 id="sql-스키마">SQL 스키마</h2>
<h3 id="sql----스키마sql----schema">SQL    스키마(SQL    Schema)</h3>
<ul>
<li>데이터베이스의 구조와 제약조건에 관해 전반적인 명세를 기술한 것</li>
<li>속성,개체,관계에 대한 정의</li>
</ul>
]]></description>
        </item>
        <item>
            <title><![CDATA[24일차 - ]]></title>
            <link>https://velog.io/@ha_/24%EC%9D%BC%EC%B0%A8-</link>
            <guid>https://velog.io/@ha_/24%EC%9D%BC%EC%B0%A8-</guid>
            <pubDate>Thu, 06 Feb 2025 11:54:30 GMT</pubDate>
            <description><![CDATA[<h1 id="1-공공-데이터3">1. 공공 데이터(3)</h1>
<blockquote>
<h2 id="--과제-풀이">- 과제 풀이</h2>
</blockquote>
<h3 id="get-메서드">get 메서드</h3>
<p><strong><code>.get()</code></strong> 메서드는 딕셔너리에서 주어진 키(key)에 해댕하는 값을 반환하는 메서드</p>
<hr>
<h2 id="3-공공-데이터---지하철-데이터">3. 공공 데이터 - 지하철 데이터</h2>
<hr>
<blockquote>
<h2 id="--lambda">- lambda</h2>
</blockquote>
<h3 id="람다식무명-함수">람다식(무명 함수)</h3>
<ul>
<li>람다식이란 이름은 없고 몸체만 있는 함수를 의미</li>
<li><span style="color: #2bcff6"> 1회용으로 간단한 기능의 함수를 만드는 것 </span></li>
<li><strong><span style="background-color: #2bcff6; color: white">lambda()</span></strong> 키워드로 생성</li>
<li>콜론(:)을 기준으로 <span style="color: #2bcff6"> 매개변수 </span>와 <span style="background-color: rgba(242,179,188,0.5)"> 수식(함수 몸체)</span>으로 나뉨.</li>
<li>여러 개의 매개 변수를 가질 수 있지만, 반환값은 하나만 허용</li>
<li>람다식은 <span style="color: #2bcff6"> 결과를 자동으로 return </span>
<span style="background-color: #2bcff6"> lambda </span><span style="background-color: #2bcff6; color: blue"><strong>매개변수1, 매개변수2</strong></span><span style="background-color: #2bcff6; color: red"> : </span><span style="background-color: #2bcff6; color: gba(242,179,188,0.5)">함수 몸체(매개변수를 이용한 표현식)</span></li>
</ul>
<hr>
<h2 id="--key-매개변수">- key 매개변수</h2>
<p><strong><code>.get()</code></strong> 23</p>
<blockquote>
<h2 id="--cf-items">- cf) .items()</h2>
</blockquote>
<ul>
<li>강의자료 p30</li>
<li>*<code>.items()</code>** : 딕셔너리에서 key, value 쌍을 다 뽑아옴.</li>
</ul>
]]></description>
        </item>
        <item>
            <title><![CDATA[20일차]]></title>
            <link>https://velog.io/@ha_/20%EC%9D%BC%EC%B0%A8-f3gw76sz</link>
            <guid>https://velog.io/@ha_/20%EC%9D%BC%EC%B0%A8-f3gw76sz</guid>
            <pubDate>Fri, 31 Jan 2025 10:38:02 GMT</pubDate>
            <description><![CDATA[<h1 id="matplotlib">MATPLOTLIB</h1>
<h2 id="파이pie-그래프">파이(Pie) 그래프</h2>
<h3 id="데이터표준화">데이터표준화</h3>
<blockquote>
</blockquote>
<ul>
<li>시각화</li>
<li>wedgeprops 매개변수 :  쐐기 생성</li>
<li>width  :  쐐기 너비, 바깥쪽너비
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;바깥쪽반지름–안쪽반지름</li>
</ul>
<hr>
<p>wedgeprops={&#39;width&#39;: 0.7, 
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&#39;edgecolor&#39;: &#39;w&#39;, 
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&#39;linewidth&#39;: 8}</p>
<hr>
]]></description>
        </item>
        <item>
            <title><![CDATA[20일차]]></title>
            <link>https://velog.io/@ha_/20%EC%9D%BC%EC%B0%A8-suxn6yaa</link>
            <guid>https://velog.io/@ha_/20%EC%9D%BC%EC%B0%A8-suxn6yaa</guid>
            <pubDate>Fri, 31 Jan 2025 06:51:58 GMT</pubDate>
            <description><![CDATA[<h1 id="pandas">PANDAS</h1>
<h1 id="chapter-08-데이터-사전처리">Chapter 08. 데이터 사전처리</h1>
<h2 id="pandas-데이터-사전처리">PANDAS 데이터 사전처리</h2>
<h3 id="데이터표준화">데이터표준화</h3>
<ul>
<li><p>자료형 변환</p>
<ul>
<li>기본 자료형
↑ &nbsp; &nbsp; &nbsp;&nbsp; &nbsp; &nbsp;&nbsp; &nbsp; &nbsp;&nbsp; &nbsp; &nbsp;&nbsp; &nbsp; &nbsp;&nbsp; &nbsp; &nbsp;&nbsp; &nbsp; &nbsp;&nbsp; &nbsp; &nbsp;&nbsp; &nbsp; &nbsp;↓</li>
<li>데이터 자료형 =&gt; 범주형, 연속형</li>
</ul>
</li>
<li><p>함수
 <span style="color: navy"><strong>객체.</strong></span><span style="color: pink"><strong>astype(</strong></span><span style="color: navy"><strong>‘자료형’</strong></span><span style="color: pink"><strong>)</strong></span>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; =&gt; 자료형으로 변환
 <span style="color: navy"><strong>객체.</strong></span><span style="color: pink"><strong>dtypes(</strong></span>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp; &nbsp; &nbsp;&nbsp; &nbsp; &nbsp; =&gt; 자료형 확인</p>
</li>
</ul>
<h3 id="범주형-데이터-처리">범주형 데이터 처리</h3>
<ul>
<li>구간 분할(Binning)
연속형 데이터를 일정 구간으로 나누어 범주형 데이터로 변환<blockquote>
</blockquote>
</li>
<li>*<span style="color: navy">pandas.</span><span style="color: blue">cut((x=df[컬럼명],  &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;# 데이터배열<pre><code>        &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;right=True, &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;# 오른쪽 같 포함</code></pre>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;bins=n,  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;# 경계값리스트
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;labels=bin_names,&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;# bin 이름
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;include_lowest=True)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;# 첫경계값포함
)</span>
A &lt; ~  <span style="color: red">&lt;=</span> B**</li>
</ul>
<hr>
<ul>
<li>더미변수(Dummy Variable)<ul>
<li>컴퓨터가인식가능한입력값0, 1로변환<blockquote>
</blockquote>
<span style="color: blue"> <strong>특징(Feature)이 있으면 1, 없으면 0 →</strong> </span>  <span style="color: pink"> <strong>One-Hot-Encoding</strong> </span> </li>
</ul>
</li>
</ul>
<blockquote>
</blockquote>
<p>  <span style="color: navy"><strong>pandas.</strong></span><span style="color: blue"><strong>get_dummies(</strong> </span><span style="color: orange"> <strong>구간분할 데이터</strong> </span><span style="color: blue"> <strong>)</strong> </span></p>
<hr>
<ul>
<li><p>정규화(Normalization)란?
 • 각열에 속하는 숫자 데이터의 상대적 크기 차이 해결
• <span style="color: blue"><strong>동일한</strong></span> 크기 기준<span style="color: blue">으로 나눈 비율</span>로 나타내는 것
 • 데이터범위: <span style="color: brown">0 ~ 1</span> 또는 <span style="color: brown"> -1 ~ 1</span></p>
</li>
<li><p>방법
 • 열의 <span style="color: blue"><strong>최대값의 절대값</strong></span>으로 <span style="color: blue"><strong>데이터 나누기</strong></span>
 • 열의 <span style="color: blue"><strong>최대값 - 최소값 결과값</strong></span>으로 <span style="color: blue"><strong>데이터 나누기</strong></span></p>
</li>
</ul>
<hr>
<h1 id="chapter-09-데이터-응용">Chapter 09. 데이터 응용</h1>
<h2 id="pandas-데이터-응용">PANDAS 데이터 응용</h2>
<h3 id="함수-매핑">함수 매핑</h3>
<h2 id=""><img src="https://velog.velcdn.com/images/ha_/post/0cc57e32-21ee-482b-a1df-7abf069e844a/image.png" alt=""></h2>
<h2 id="-1"><img src="https://velog.velcdn.com/images/ha_/post/dca3b0e8-6c34-45ac-8c61-953016035648/image.png" alt=""></h2>
<blockquote>
</blockquote>
<p><span style="color: pink">object.apply</span>( 함수명,
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;args=( ),&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;# 객체 이외에 함수에 전달되는 인자
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;**kwargs, &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;# 객체 이외에 함수에 전달되는 가변인자
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;axix=0,&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;# 0 or ‘index’: apply function to each column.<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;# 1 or ‘columns’: apply function to each row.
  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;result_type=&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;# expand - 열에 리스트와 유사한 결과반환 
  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;# reduce - 시리즈 반환,
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;# broadcast - 데이터프레임
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: pink">)</span>
반환: 단일값, 시리즈, 데이터프레임</p>
<hr>
<p><img src="https://velog.velcdn.com/images/ha_/post/c5159d48-8898-446e-9d24-28823fa6b345/image.png" alt=""></p>
<blockquote>
</blockquote>
<p><span style="color: pink">object.applymap</span>( func,
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;na_action,
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;# NaN 데이터 처리
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;**kwargs, &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;# 객체 이외에 함수에 전달되는 가변인자
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: pink">)</span><br>반환: DataFrame  </p>
<hr>
<p><img src="https://velog.velcdn.com/images/ha_/post/ff71089c-05dc-4d70-97b3-2693b0aff7d2/image.png" alt=""></p>
<blockquote>
</blockquote>
<p><span style="color: pink">object.pipe( </span> func,
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;args=( ),&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;# 객체 이외에 함수에 전달되는 인자
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;**kwargs, &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;# 객체 이외에 함수에 전달되는 가변인자
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;axis=0
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: pink">)</span><br>반환: 단일값, 시리즈, 데이터프레임</p>
<hr>
<h3 id="열재구성-열순서변경">열재구성-열순서변경</h3>
<p><img src="https://velog.velcdn.com/images/ha_/post/2f58032e-8d52-4514-b929-fb178338599f/image.png" alt=""></p>
<hr>
<h3 id="열재구성-열분리">열재구성-열분리</h3>
<p><img src="https://velog.velcdn.com/images/ha_/post/8594ca33-de5d-4418-aec6-403659395ab0/image.png" alt=""></p>
<hr>
<h3 id="필터링filtering">필터링(Filtering)</h3>
<p><img src="https://velog.velcdn.com/images/ha_/post/56fb117e-b498-41d1-ae87-98b18f343e7c/image.png" alt=""></p>
<p><img src="https://velog.velcdn.com/images/ha_/post/2febf41f-22fc-45db-9971-f7b613d2ac36/image.png" alt=""></p>
<p><img src="https://velog.velcdn.com/images/ha_/post/90a72a96-d55f-422c-8a39-33b047779422/image.png" alt=""></p>
<p><img src="https://velog.velcdn.com/images/ha_/post/89f3d127-20e4-43ec-8df5-a3befda62473/image.png" alt=""></p>
<hr>
]]></description>
        </item>
        <item>
            <title><![CDATA[19일차]]></title>
            <link>https://velog.io/@ha_/19%EC%9D%BC%EC%B0%A8</link>
            <guid>https://velog.io/@ha_/19%EC%9D%BC%EC%B0%A8</guid>
            <pubDate>Mon, 27 Jan 2025 00:05:12 GMT</pubDate>
            <description><![CDATA[<p>과제)
plt.show()를 사용하면 먼저 그래프를 알아서 그려줌,,,?</p>
<p>bbox_to_anchor=(1,1)</p>
<ul>
<li>범례 위치를 그래프 밖으로 뺄 수 있음</li>
</ul>
]]></description>
        </item>
        <item>
            <title><![CDATA[18일차]]></title>
            <link>https://velog.io/@ha_/18%EC%9D%BC%EC%B0%A8</link>
            <guid>https://velog.io/@ha_/18%EC%9D%BC%EC%B0%A8</guid>
            <pubDate>Thu, 23 Jan 2025 00:23:01 GMT</pubDate>
            <description><![CDATA[<h1 id="데이터-분석data-analysis-1">데이터 분석(DATA ANALYSIS) (1)</h1>
<h2 id="데이터-분석이란">데이터 분석이란?</h2>
<ul>
<li>유용한 정보를 발굴하고 결론 내용을 알리며 의사결정을 지원하는 것을 목표로 <strong>데이터를 정리, 변환, 모델링하는 과정</strong></li>
<li>과거의 데이터를 토대로 미래 분석</li>
</ul>
]]></description>
        </item>
        <item>
            <title><![CDATA[16일차]]></title>
            <link>https://velog.io/@ha_/16%EC%9D%BC%EC%B0%A8</link>
            <guid>https://velog.io/@ha_/16%EC%9D%BC%EC%B0%A8</guid>
            <pubDate>Tue, 21 Jan 2025 04:23:58 GMT</pubDate>
            <description><![CDATA[<h1 id="다양한-형식으로-데이터-저장">다양한 형식으로 데이터 저장</h1>
<blockquote>
<h2 id="csv-파일로-저장">CSV 파일로 저장</h2>
</blockquote>
<h4 id="--절대경로--c-----d---window경우-드라이브부터-전체-경로">- 절대경로 : C:~    , D:/   Window경우 드라이브부터 전체 경로</h4>
<h4 id="--상대경로--현재-파일-기준-경로-설정">- 상대경로 : 현재 파일 기준 경로 설정</h4>
<p>. 의미 - 현재 위치        (예) ./파일명                        -&gt; 현재 위치와 같은 위치인 파일
.. 의미 - 현재 바로 위     (예) ../파일명, ../폴더명/파일명     -&gt; 현재 위치보다 한 단계 위인 위치</p>
<ul>
<li>상대 경로<pre><code>FILE_CSV_R = &#39;./data1.csv&#39;     # 상대경로(현재위치)    ..-&gt;(현재위치 바깥)
FILE_CSV_R2 = &#39;../data1.csv&#39;</code></pre></li>
<li>절대 경로<pre><code>FILE_CSV_A = r&#39;C:\Users\KDP-519\OneDrive\바탕 화면\KDT7\02_PANDAS\D0121\data2.csv&#39;</code></pre></li>
</ul>
<hr>
<blockquote>
<h2 id="dataframe--csv-저장">DataFrame =&gt; CSV 저장</h2>
</blockquote>
<h4 id="--행-인덱스-라벨-설정--index_label-매개변수">- 행 인덱스 라벨 설정 =&gt; index_label 매개변수</h4>
<ul>
<li>index_label=&#39;No&#39; 인덱스 젤 위에 &#39;No&#39; 표시됨<pre><code>dataDF.to_csv(FILE_CSV_R, index_label=&#39;No&#39;)</code></pre><h4 id="--데이터-구분자-변경--sep-매개변수-기본-쉼표">- 데이터 구분자 변경 =&gt; sep 매개변수 [기본] 쉼표(,)</h4>
<pre><code>dataDF.to_csv(FILE_CSV_A, sep=&#39;:&#39;)</code></pre><h4 id="--dataframe의-인덱스-저장하지-않기-설정--index-매개변수--false">- DataFrame의 인덱스 저장하지 않기 설정 =&gt; index 매개변수 = False</h4>
<h4 id="--dataframe의-칼럼명-저장하지-않기-설정--header-매개변수--false">- DataFrame의 칼럼명 저장하지 않기 설정 =&gt; header 매개변수 = False</h4>
<h4 id="--dataframe의-파일-쓰기-모두-설정">- DataFrame의 파일 쓰기 모두 설정</h4>
</li>
<li>mode 매개변수 &#39;w&#39; : 파일 존재 시 내용 지우고 쓰기</li>
<li>mode 매개변수 &#39;a&#39; : 파일 존재 시 내용 끝에 추가해서 쓰기<pre><code>dataDF.to_csv(FILE_CSV_R2, index=False, header=False, mode=&#39;a&#39;)</code></pre><h4 id="--series--csv-파일로-저장">- Series =&gt; CSV 파일로 저장</h4>
<pre><code>dataSR1.to_csv(FILE_CSV_R, index_label=&#39;NO&#39;)
dataSR1.to_csv(FILE_CSV_R2, index=False)</code></pre><h4 id="--dataframe--json-저장">- DataFrame =&gt; JSON 저장</h4>
<pre><code>FILE_JSON = &#39;./data1.json&#39;
</code></pre></li>
</ul>
<p>dataDF.to_json(FILE_JSON)</p>
<pre><code>#### - JSON =&gt; DataFrame 로딩</code></pre><p>jsonDF = pd.read_json(FILE_JSON)
jsonDF</p>
<pre><code>
---
&gt;## DataFrame =&gt; EXCEL 저장</code></pre><p>%pip install openpyxl
FILE_EXCEL = &#39;./data1.xlsx&#39;
dataDF.to_excel(FILE_EXCEL, index_label=False, header=False)</p>
<pre><code>#### - 파일의 첫번째 줄 =&gt; [기본] 칼럼으로 설정
#### - 파일의 첫번째 줄 =&gt; 칼럼명이 아닌 경우 =&gt; heaader 매개변수 None</code></pre><p>excelDF = pd.read_excel(FILE_EXCEL, header=None)        # 헤더가 없는 경우 읽을 때도 head=None으로 설정해야 함! 첫줄을 칼럼명으로 잡기 때문에 데이터가 칼럼명으로 들어가게 됨!!
excelDF
```</p>
]]></description>
        </item>
        <item>
            <title><![CDATA[14일차]]></title>
            <link>https://velog.io/@ha_/14%EC%9D%BC%EC%B0%A8</link>
            <guid>https://velog.io/@ha_/14%EC%9D%BC%EC%B0%A8</guid>
            <pubDate>Fri, 17 Jan 2025 08:25:27 GMT</pubDate>
            <description><![CDATA[<h3 id="cf-python-self">cf) PYTHON self</h3>
<ul>
<li>메서드는 무조건 첫 번째 매개변수가 self<h4 id="self를-쓰는-이유">self를 쓰는 이유?</h4>
재사용된 변수?를 다시 쓰기 위해 찾기 위함??</li>
</ul>
<h3 id="cf-용어">cf) 용어</h3>
<p>속성 = attribute = property = field
row = 엔트리 = 인스턴스
기능 = 함수 = 메서드<br>✏️(cf. 내용이 함수면 <strong>메서드</strong> / 내용이 데이터면 <strong>속성</strong>이라고 부름)
| <strong>구분</strong>      | <strong>메서드</strong>                        | <strong>기능</strong>                       | <strong>속성</strong>                      |
|---------------|----------------------------------|--------------------------------|-------------------------------|
| <strong>정의</strong>      | 객체와 관련된 함수               | 시스템이 수행하는 작업         | 객체가 보유한 데이터          |
| <strong>역할</strong>      | 객체의 행동을 정의하고 수행      | 특정 문제 해결을 위한 작업     | 객체의 상태 또는 특성         |
| <strong>호출 방식</strong> | <code>객체.메서드()</code> 형태로 호출      | 메서드나 함수 내부에서 실행됨  | <code>객체.속성</code> 형태로 접근       |
| <strong>예제</strong>      | <code>my_car.start_engine()</code>          | &quot;파일 저장 기능&quot; 같은 논리적 작업 | <code>my_car.color</code>               |</p>
<p>iloc - 정수형 인덱스</p>
<h1 id="chapter03-pandas-기본-프로그래밍-2">Chapter03. PANDAS 기본 프로그래밍 (2)</h1>
<h2 id="구조화-데이터">구조화 데이터</h2>
<h3 id="데이터프레임dataframe">데이터프레임(DataFrame)</h3>
<h4 id="행-선택--entry-record-row-">행 선택 ( Entry, Record, Row )</h4>
<table>
<thead>
<tr>
<th align="left">구분</th>
<th>loc</th>
<th align="center">iloc</th>
</tr>
</thead>
<tbody><tr>
<td align="left">대상</td>
<td>인덱스 이름</td>
<td align="center">정수형 인덱스</td>
</tr>
<tr>
<td align="left">범위</td>
<td><span style="color:pink"><strong>범위 끝 포함</strong></span></td>
<td align="center">범위<span style="color:pink"><strong>범위 끝 포함</strong></span></td>
</tr>
</tbody></table>
<h4 id="열-선택">열 선택</h4>
<p><span style="color:blue"><strong>DataFrame객체 [&quot;열 이름&quot;]</strong></span>
<span style="color:blue"><strong>DataFrame객체.열 이름</strong></span></p>
<h4 id="원소-선택">원소 선택</h4>
<p><span style="color:blue"><strong>DataFrame객체.</strong></span><span style="color:orange"><strong>loc[</strong></span><strong>행이름, 열이름</strong><span style="color:orange"><strong>]</strong></span>
<span style="color:blue"><strong>DataFrame객체.</strong></span><span style="color:orange"><strong>loc[</strong></span><strong>행번호, 열번호</strong><span style="color:orange"><strong>]</strong></span></p>
<p><span style="color:blue"><strong>DataFrame객체.</strong></span><span style="color:orange"><strong>loc[</strong></span><strong>행인덱스이름</strong><span style="color:orange"><strong>]</strong></span><span style="color:orange"><strong>[</strong></span><strong>열이름</strong><span style="color:orange"><strong>]</strong></span>
<span style="color:blue"><strong>DataFrame객체.</strong></span><span style="color:orange"><strong>loc[</strong></span><strong>행번호</strong><span style="color:orange"><strong>]</strong></span><span style="color:orange"><strong>[</strong></span><strong>열번호</strong><span style="color:orange"><strong>]</strong></span></p>
<h4 id="행열-추가">행/열 추가</h4>
<p><span style="color:blue"><strong>DataFrame객체.</strong></span><span style="color:orange"><strong>loc[</strong></span><strong>‘추가할 열 이름’</strong><span style="color:orange"><strong>] = 데이터 값</strong></span></p>
]]></description>
        </item>
        <item>
            <title><![CDATA[13일차]]></title>
            <link>https://velog.io/@ha_/13%EC%9D%BC%EC%B0%A8-nicrldvh</link>
            <guid>https://velog.io/@ha_/13%EC%9D%BC%EC%B0%A8-nicrldvh</guid>
            <pubDate>Thu, 16 Jan 2025 07:53:46 GMT</pubDate>
            <description><![CDATA[<h1 id="chapter03-pandas-기본-프로그래밍">Chapter03. PANDAS 기본 프로그래밍</h1>
<h2 id="구조화-데이터">구조화 데이터</h2>
<h3 id="데이터프레임dataframe">데이터프레임(DataFrame)</h3>
<ul>
<li><strong>행과 열(Series)</strong>로 만들어진 2차원 배열 구조</li>
<li>통계 패키지 R의 데이터프레임에서 유래</li>
<li>여러 개의 시리즈(Series) 묶음</li>
<li>형식 : <strong>행 인덱스 + 열 벡터</strong>
<img src="https://velog.velcdn.com/images/ha_/post/a86c82f0-6514-4d04-b359-27335a555a1c/image.png" alt=""></li>
</ul>
]]></description>
        </item>
    </channel>
</rss>