✔️ 모듈 사용

import pandas as pd
import matplotlib
import numpy as np
from matplotlib import pyplot as plt
from matplotlib import font_manager as fm
from sqlalchemy import create_engine
import urllib.parse

✔️ 추가 설정

np.set_printoptions(precision=3)            # 소수점 3번째 자리에서 반올림
pd.set_option('display.max_rows', None)     # Row 생략없이 출력
pd.set_option('display.max_columns', None)  # Column 생략없이 출력
pd.set_option('display.max_colwidth', None) # 컬럼의 내용이 길어도 생략없이 출력
pd.set_option('display.width', None)
pd.set_option('display.float_format', '{:.5f}'.format) # 8.500000e+01 이런 형식의 지수표현을 하고 싶지 않을 경우

 

✔️ DB 접속 및 쿼리 실행

# DB 접속 객체 생성
sqlEngine = create_engine("mysql+pymysql://root:Qwer1234%21%40%23%24@10.240.71.71:25000", encoding='utf8', pool_recycle=3600)
dbConnection = sqlEngine.connect()   # DB 접속
user_data = pd.read_sql("select * from a209.user_info where user_id = 'a209' ", dbConnection); # 쿼리 실행
dbConnection.close() # 접속 종료

 

Jupyter notebook에 이미지를 추가하는 방법입니다. (Jupyter notebook 버전 6.4.8)

 

1. 코딩으로 이미지 출력

명령창은 Code로 설정하고 아래와 같이 입력 후 실행하면 화면에 이미지가 표시됩니다..

코딩창이 보이기에 이쁘지는 않습니다.

from IPython.display import Image
Image('images/방수어사_라온테크_min.jpg')

 ✔️ 아래는 출력 결과입니다.


2. markdown으로 이미지 출력 - 1

코딩창을 Markdown으로 설정 후 아래와 같이 입력후 실행하시면 코딩영역 없이 이미지를 화면에 출력합니다.

# Markdown으로 설정 후 실행하면 이미지가 출력됩니다.
![nn](images/방수어사_라온테크_min.jpg)

 ✔️ 출력 결과

 

3. markdown으로 이미지 출력 - Img 태그 사용

# Markdown에서 이미지 태그를 사용할 수 있고 스타일도 정의할 수 있습니다.
<img src="Images/방수어사_라온테크_min.jpg" style='margin-left:20px; width:700px; height:200px'>

✔️ 출력 결과

 

⭐ 본 이미지는 동생 창업기념으로 제가 레이저로 나무에 각인한 작품입니다.

Jupyter Notebook QHD 해상도의 모니터에서는 최대 화면으로 실행하게되면 좌우 여백이 너무 넓어서 불편합니다.

아래 경로의 파일에서

C:\ProgramData\Anaconda3\Lib\site-packages\notebook\static\style\style.min.css

아래와 같이 수정 후 페이지를 새로고침 하시면

@media (min-width: 1200px) {
  .container {
    /* width: 1140px; -- 기존 코드는 주석처리 */ 
	width: 98%;  /* 가로폭의 98% 가득 차도록 설정 */
  }
}

코딩 영역이 가로폭에 꽉 차서 표시됩니다.

 

외부 인터넷 접속이 되지 않는 환경에서  모듈을 설치하는 방법 입니다.

자주 사용하는 MySQL 모듈을 기준으로 설명드리겠습니다. 

1. https://pypi.org/ 사이트에 접속하여 다운받을 모듈과 버전 정보를 결정합니다.

    - https://pypi.org/project/PyMySQL/

    - https://pypi.org/project/PyMySQL/#history 버전 정보를 확인합니다.

 

2.  cmd를 실행하여 아래와 같이 모듈 정보를 입력합니다.

pip download -d ./ PyMySQL==1.0.1

    위와 같이 실행시 SSL  오류가 발생하며 다운로드가 안된다면 아래와 같이 실행합니다.

pip --trusted-host pypi.org --trusted-host files.pythonhosted.org download -d ./ PyMySQL

 

    - 버전을 명시하지 않을 경우 최신 버전이 다운로드 됩니다.

 

3. 파일을 폐쇄망으로 이동시킵니다.

 

4. 아래 명령어를 통해서 다운받은 모듈을 설치합니다.

pip install --no-index --find-links=./ PyMySQL          << 특정 위치의 모듈을 설치할 경우

pip install --no-index --find-links=./ PyMySQL==1.0.2   << 특정 버전의 모듈을 설치할 경우

pip install --no-index PyMySQL                          << 모듈이 위치한 폴더에서 실행할 경우

 

5. 설치된 모듈과 버전 정보를 확인합니다.

pip list

파일명 혹은 변수에 '-'가 제거된 날짜값을 사용하게 되는데(20220715)

날짜 형식으로 변환할 때 MySQL 에서는 str_to_date 함수를 사용할 수 있습니다.

%Y 4자리 년도 %T hh:mm:ss
%y 2자리 년도 %r hh:mm:ss AM/PM
%m 2자리 월(01, 02, 10, 11 ...) %M 월 (영문 전체 March, July ...)
%c 월(1, 2, 10, 11 ...) %b 월 (영문 축약 Mar, Jul ...)
%d 2자리 일(01, 01, 10, 11 ...) %W 요일 (영문 전체 Monday, Thursday ...)
%e 일(1, 2, 10, 11 ...) %a 요일 (영문 축약 Mon, Thu ...) 
%H 24시간제 시간    
%l 12시간제 시간    
%i 2자리 분 (05, 15 ...)    
%S 2자리 초 (05, 15 ...)    

사용 방법은 위 포맷을 참고하여 아래와 같이 사용해 주시면 됩니다.

하지만 아래와 같이 31을 넘어가는 날짜가 입력되면 null을 출력하지만 

4월31을 입력할 경우 4월30일 에서 하루 지난 5월1일을 출력하는 오류가 있습니다.

-- MySQL 5.7.37 / MySQL 8.0.23 / MariaDB 10.1.48 모두에서 아래와 같이 출력 됩니다.

select str_to_date(20220230, '%Y%m%d');   -- 2022-03-02 출력 (Error: 22년 2월은 28일 까지만 존재)
select str_to_date(20220430, '%Y%m%d');   -- 2022-04-30 출력
select str_to_date(20220431, '%Y%m%d');   -- 2022-05-01 출력 (Error: 4월은 30일 까지만 존재함)
select str_to_date(20220432, '%Y%m%d');   -- null 출력
select str_to_date(20220531, '%Y%m%d');   -- 2022-05-31 출력
select str_to_date(20220532, '%Y%m%d');   -- null 출력

입력된 날짜의 무결성이 중요하다면 함수를 만들어 사용하는 것이 좋을 것 같습니다.

쿼리창에서 괄호를 열때 자동으로 닫음이 추가되어 불편하신 분들은 아래 옵션을 해제하시면 됩니다.

Editor > General > Smart Keys 메뉴에 들어가셔서.

+ Recent posts