seaborn은 matplotlib로 바로 그린 그래프보다 가독성이 좋고, 폭 넓은 커스터마이징이 가능해서 애용하는 시각화 라이브러리다. set_theme()를 통해 배경, 폰트와 같은 기본 설정을 할 수 있고, set_palette()를 통해 그래프 컬러 조합을 선택할 수 있다.seaborn palette 예시 Choosing color palettes — seaborn 0.13.0 documentationChoosing color palettes Seaborn makes it easy to use colors that are well-suited to the characteristics of your data and your visualization goals. This chapter discusse..
seaborn은 matplotlib로 바로 그린 그래프보다 가독성이 좋고, 폭 넓은 커스터마이징이 가능해서 애용하는 시각화 라이브러리다. set_theme()를 통해 배경, 폰트와 같은 기본 설정을 할 수 있고, set_palette()를 통해 그래프 컬러 조합을 선택할 수 있다.seaborn palette 예시 Choosing color palettes — seaborn 0.13.0 documentationChoosing color palettes Seaborn makes it easy to use colors that are well-suited to the characteristics of your data and your visualization goals. This chapter discusse..
[Python] 빅데이터분석 시각화 - 그래프 그리기 (Matplotlib)Matplotlib는 그래프를 그리는 함수를 내장하고 있는 확장 라이브러리다. matplotlib.pyplot을 import하여 해당 모듈의 각 함수를 사용해 간편하게 그래프를 만들고 변화를 줄 수 있다. 기본적으로 plot()xl-shine.tistory.com import pandas as pdimport numpy as npimport matplotlib.pyplot as pltplt.rc('font', family='malgun gothic')plt.rc('axes', unicode_minus=False)%matplotlib inline # jupyter notebook에서 그래프를 보기 위한 코드weather = pd.r..
소규모 프로젝트나 개인적으로 토이 프로젝트를 진행할 때는 굳이 DB를 나누지 않아도 괜찮지만, 대규모 프로젝트를 다루는 현업에서는 개발서버에서 테스트를 진행한 뒤 문제가 없음을 파악하고 운영서버에 반영해 사용자들에게 서비스하는게 일반적이다. 이럴 때 개발서버의 DB와 운영서버의 DB를 동기화 시키는 것이 중요한데, 대표적인 무료 DBMS 툴인 SqlDeveloper를 사용하면 각 DB의 차이점을 쉽게 비교가 가능하다.1. 상단 메뉴 Tools(도구) → Database Diff(데이터베이스 차이) 2. Source Connection, Destination Connection에 각각 개발DB, 운영DB 지정 3. 비교가 필요한 Standard Object Types 선택 4. 비교 대상 상세 지정(미지정..
Matplotlib는 그래프를 그리는 함수를 내장하고 있는 확장 라이브러리다. matplotlib.pyplot을 import하여 해당 모듈의 각 함수를 사용해 간편하게 그래프를 만들고 변화를 줄 수 있다. 기본적으로 plot() 함수를 사용해 그래프를 그릴 수 있으며, 인자로 리스트 형식의 값을 2개(x축, y축) 받는다.plt.plot([1, 2, 3, 4]) 이렇게 하나의 리스트만 전달하게 됐을 때, 인자로 넘겨준 리스트는 y축으로 인식하고 x축은 인자로 넘겨준 리스트의 길이에 맞춰 자동 생성된다. 예시의 경우 자동 생성되는 x축 리스트는 [0, 1, 2, 3]이다. 나타나는 그래프는 다음과 같다.plt.plot([1, 2, 3, 4], [1, 4, 9, 16]) 다음과 같이 두개의 리스트를 전달할 ..
올해 크리스마스에는 여자친구와 함께 거대한 크리스마스 트리를 보며 크리스마스 마켓에서 같이 쇼핑하는 낭만을 느끼고 싶었다. 마침 잠실 롯데월드몰에서 대형 트리와 크리스마스 마켓을 준비했다고 해서 가보기로 했다. 크리스마스 당일에 갔으면 더 좋았겠지만, 사람이 너무 많고 마켓을 못들어갈 수도 있겠다는 생각에 미리 다녀오기로 했다(사실 더현대를 가려고 했는데 더현대는 사람이 너무 많아서 사진도 못찍을 정도라고 하기에 포기했다..). 트리가 진짜 크긴 엄청 컸다. 이때가 오후 4시쯤이라 아직 밝았는데 사람이 꽤 많아서 좀 놀랐다. 더 어두워지면 더 이쁠 것 같아서 일단 간단하게 끼니를 해결하고 오기로 했다. 저녁으로는 간단하게 팬케이크를 먹었다. 제철과일이 토핑으로 올라가있는 메뉴였는데, 과일도 신선하고 팬케..
concat() concat() 함수는 데이터프레임을 이어붙일 때 사용하는 함수이다. 인자로 다음과 같은 파라미터를 받는다.pd.concat(objects, axis=0, join=outer, ignore_index=False)objects에는 병합할 데이터 프레임을 리스트형태로 묶어서 전달해주면 된다.axis는 어떤 방향을 기준으로 병합할지 선언한다. 0이면 행, 1이면 열을 기준으로 병합하고, 비선언 시 디폴트 값으로 0이 들어간다.join은 어느 데이터 프레임을 기준으로 병합할 지 선택한다. left, outer 값을 줄 수 있으며, 비선언 시 디폴트 값으로 outer가 들어간다.ignore_index는 기존 index를 무시하고 병합한 데이터 프레임을 기준으로 index 값을 새로 지정한다. 비..
GROUPING() 함수는 SELECT 절에서 사용하는 함수이다. GROUPING() 함수의 인자로 그룹핑 대상인 컬럼을 지정하면 해당 컬럼이 NULL일 때 1, NOT NULL일 때 2를 반환하는 함수이다.SELECT B.DNAME , A.JOB , SUM(A.SAL) , GROUPING(B.DNAME) AS GP1 , GROUPING(A.JOB) AS GP2 FROM EMP A , DEPT B WHERE A.DEPTNO = B.DEPTNO GROUP BY ROLLUP(B.DNAME, A.JOB) ORDER BY 1,2; 이를 CASE-WHEN 절과 함께 활용하면 NULL 값을 소계, 총계 등으로 지정할 수 있다.SELECT CASE WHEN T.GP1 = 1 ..
CUBE() 함수는 인자로 받는 컬럼으로 만들 수 있는 모든 조합으로 집계하여 추출하는 함수이다. 위와 같은 결과를 얻으려면, 다음과 같이 작성할 수 있다.SELECT B.DNAME , SUM(A.SAL) FROM EMP A , DEPT B WHERE A.DEPTNO = B.DEPTNO GROUP BY CUBE(B.DNAME) ORDER BY 1; 얼핏보면 ROLLUP() 함수와 다를 거 없는 함수처럼 보이지만, CUBE() 함수는 받는 인자가 많아질수록 조합이 다양해져 출력하는 결과가 훨씬 많아진다. SELECT B.DNAME , A.JOB , SUM(A.SAL) FROM EMP A , DEPT B WHERE A.DEPTNO = B.DEPTNO GROUP BY C..
GROUPING SETS() 함수는 이전 포스팅에서 다뤘던 ROLLUP()과 마찬가지로 GROUP BY 절에서 사용하는 함수이며, 인자로 받는 컬럼 별 집계함수 값을 리턴하는 함수이다. 위와 같은 결과를 얻고 싶을 때, GROUPING SETS 함수를 활용하면 다음과 같이 짤 수 있다.SELECT B.DNAME , SUM(A.SAL) FROM EMP A , DEPT B WHERE A.DEPTNO = B.DEPTNO GROUP BY GROUPING SETS(B.DNAME) ORDER BY 1; 근데 뭔가 이상하지 않은가? 위와 같은 결과를 더 쉽게 추출하는 방법을 우리는 알고 있다.SELECT B.DNAME , SUM(A.SAL) FROM EMP A , DEPT B WHER..