연산자 및 함수
·
🚩 Coding Test/SQL
연산자는 비교, 논리, 특수, 산술, 집합 연산자로 나뉜다.  집합 연산자 - UNION, UNION ALLUNION: 2개 이상 테이블의 중복된 행들을 제거하여 집합UNION ALL: 2개 이상 테이블의 중복된 행들을 제거 없이 집합 함수: 단일 및 복수 행, 윈도우 함수로 나뉘며, 특정 규칙에 의해 새로운 결과값으로 반환하는 명령어 단일 행 함수- 모든 행에 대하여 각각 함수가 적용되어 반환한다. - 함수들을 중첩해서 사용 가능하다. - 숫자형, 문자형, 날짜형, 형변환, 일반함수로 나뉜다.  복수 행 함수- 여러 행들이 하나의 결과값으로 반환한다. - 주로 GROUP BY절과 함께 사용된다. - 집계, 그룹 함수로 나뉜다.  윈도우 함수- 행과 행간의 관계를 정의하여 결과 값을 반환한다. - ORD..
Sub Query (서브 쿼리)
·
🚩 Coding Test/SQL
SELECT절 서브 쿼리: SELECT 명령문 안에 SELECT 명령문이 있는 쿼리문 1. 테이블의 열: 스칼라(Scala) 서브 쿼리 (*스칼라: 하나의 값만 보유하는 원자량)2. 처리 속도: JOIN보다 처리 속도 늦음 FROM절 서브 쿼리: FROM 명령문 안에 SELECT 명령문이 있는 쿼리문  1. 테이블: 열 이름 및 테이블명 지정  WHERE절 서브 쿼리: WHERE 명령문 안에 SELECT 명령문이 있는 쿼리문 1. 리스트(List): WHERE절 서브 쿼리 = 리스트 Referencehttps://www.boostcourse.org/ds102/lecture/373363?isDesc=false 기초 데이터 분석을 위한 핵심 SQL부스트코스 무료 강의www.boostcourse.org
JOIN
·
🚩 Coding Test/SQL
관계1:1, 1:N, N:N 세가지 형태로, 테이블 간의 연결이 가능하다는 것을 의미 - 두 테이블 관계를 활용하여, 테이블을 결합하는 명령어 ERM(Entity-Relationship Modeling): 개체-관계 모델링이며, 관계형 데이터베이스에 테이블을 모델링할 때 사용 * 개체: 하나 이상의 속성으로 구성된 개체* 관계: 속성들 간의 관계INNER, LEFT, RIGHT JOIN- Inner Join: 두 테이블의 공통 값이 매칭되는 데이터만 결합- Left Join: 두 테이블의 공통 값이 매칭되는 데이터만 결합 + 왼쪽 테이블의 매칭되지 않는 데이터는 NULL- Right Join: 두 테이블의 공통 값이 매칭되는 데이터만 결합 + 오른쪽 테이블의 매칭되지 않는 데이터는 NULL Referen..
[서울 종합병원 분포 확인하기] 6. 위경도 데이터 sactterplot, Folium
·
🇳 Naver BoostCourse/파이썬으로 시작하는 데이터 사이언스
특정 지역만 보기df_seoul = df[df["시도명"] == "서울특별시"].copy()plt.figure(figsize=(9, 6))sns.countplot(data=df_seoul, y="시군구명") # Pandas 의 plot.scatter 를 통해 경도와 위도를 표시df_seoul[["경도", "위도", "시군구명"]].plot.scatter( x="경도", y="위도", figsize=(9, 7), grid=True)# seaborn의 scatterplot 을 통해 구별 경도와 위도를 표시plt.figure(figsize=(16, 12))sns.scatterplot(data=df_seoul, x='경도', y='위도', hue='시군구명') ..
[서울 종합병원 분포 확인하기] 5. 데이터 색인
·
🇳 Naver BoostCourse/파이썬으로 시작하는 데이터 사이언스
== 활용하기df["상권업종중분류명"] == "약국/한약방"  # df["상권업종중분류명"] == "약국/한약방"에 df[]을 덮어쓰면 해당 조건에 True인 데이터만 가져온다.df_medical = df[df["상권업종중분류명"] == "약국/한약방"]df_medical.head(1)20364049더블유스토어수지점수지점S의료S02약국/한약방S02A01약국G47811...4146510100107120002026238NaN경기도 용인시 수지구 문정로 32448170.016837.0NaN1NaN127.09552237.3235281 rows × 39 columns2개의 조건 사용하기, 조건에 맞는 데이터 개수 세기 shop_type = df["상권업종대분류명"] == "의료"df.loc[shop_type, "..
[서울 종합병원 분포 확인하기] 4. 문자열 데이터 요약 - pandas, seaborn 시각화
·
🇳 Naver BoostCourse/파이썬으로 시작하는 데이터 사이언스
중복 제거한 값 보기# 1) 상권업종대분류명 df["상권업종대분류명"].unique()# 결과: array(['의료'], dtype=object)# unique는 값의 종류가 몇 개인지를 보여준다. df["상권업종대분류명"].nunique()# 결과: 1 그룹화된 요약값 보기 - value_counts: 카테고리 형태의 데이터 갯수를 세어준다. df["시도명"].value_counts()df["시도명"].value_counts(normalize=True)# normalize 옵션: 전체에서 차지하는 비율  df["시도명"].value_counts().plot.barh()df["시도명"].value_counts().plot.pie(figsize=(7, 7))  seaborn으로 그래프 그려보기sns.cou..
[서울 종합병원 분포 확인하기] 3. 수치 데이터 요약 - 기술통계 값
·
🇳 Naver BoostCourse/파이썬으로 시작하는 데이터 사이언스
기초 통계 값- 데이터 타입이 수치형일 경우 기초통계값을 확인할 수 있다. # 1. 평균값df['위도'].mean()# 2. 중앙값df["위도"].median()# 3. 최댓값df["위도"].max()# 4. 최솟값df["위도"].min()# 5. 개수df["위도"].count() 요약값 확인df["위도"].describe() - 25%는 앞에서 1/4 되는 값이고, 1사분위수- 50%는 중앙값이고, 2사분위수- 75%는 앞에서 3/4 번째 되는 수고, 3사분위수- mean, min, max는 각각 평균, 최소값, 최대값 2개 이상의 column 요약df[["위도", "경도"]].describe() - 2개 이상은 2차원 데이터 구조가 되므로 DataFrame으로 출력- 2개 이상의 데이터를 출력하려면 ..
[서울 종합병원 분포 확인하기] 2. 결측치 처리
·
🇳 Naver BoostCourse/파이썬으로 시작하는 데이터 사이언스
결측치 확인null_count = df.isnull().sum()null_count - null_count 라는 변수에 isnull().sum() 해서 각 column 별 결측치 개수 확인- boolean indexing 사용 -> isnull()이 True 이면 1, sum() 은 True의 개수를 세어줌 결측치 시각화null_count.plot() # 기본 그래프 - linenull_count.plot.bar(rot=60) # bar 그래프 # rot 옵션 지정 시 글자들이 회전하여 표시null_count.plot.barh(figsize=(5,7)) # 세로 막대형 그래프, figsize: 사이즈 지정 line / bar / barh  데이터 프레임 형태로 변형# 1. 인덱스 초기화 df_null_c..
[서울 종합병원 분포 확인하기] 1. 데이터 로드하고 데이터 미리보기
·
🇳 Naver BoostCourse/파이썬으로 시작하는 데이터 사이언스
필요한 라이브러리 불러오기import pandas as pd* pd : pandas를 별칭으로 줄여서 씀numpy, seabornimport numpy as npimport seaborn as sns- numpy : 고성능의 수치계산, 행렬이나 대규모 다차원 배열을 쉽게 처리하기 위한 라이브러리- seaborn : 데이터 시각화를 위한 라이브러리matplotlibimport matplotlib.pyplot as plt- matplotlib : 데이터 시각화 라이브러리시각화를 위한 폰트 설정1) 한글 폰트 설정- 알맞은 OS에 따라 plt.rc 소스 실행- 주석 처리 단축키: Ctrl(cmd) + /2) minus 폰트 깨짐 방지plt.rc('axes', unicode_minus=False)3) retin..