티스토리 뷰

728x90

주피터 노트북에서 설명을 작성할 때 마크다운 기능을 활용할 때 몇가지 유용한 기능입니다.

 

1. 글자 테두리

<kbd>글자 테두리</kbd>

2. 테이블 (표)

    HTML 문법을 이용해도 되고 | (파이프라인)과 - (dash)를 이용해도 됩니다.

|순번|제목|날짜|
|--|--|--|
|1|제목1|2021|
|2|제목2|2022|
<table>
    <thead>
        <tr>
            <th>순번</th>
            <th>제목</th>
            <th>날짜</th>
        </tr>
    </thead>
    <tbody>
        <tr>
            <td>1</td>
            <td>제목1</td>
            <td>2021</td>
        </tr>
        <tr>
            <td>2</td>
            <td>제목2</td>
            <td>2022</td>
        </tr>
    </tbody>
</table>

3. 목차

- 목차(들여쓰기)
    - 1번
        - 가

4. 인용문

> 첫번째
>> 두번째
>>> 세번째

5. 이미지

    3가지 사용법이 있습니다.

 

    1) IPython.display의 Image 클래스

from IPython.display import Image

# 상대경로
Image('./logo.jpg')

# 절대경로
Image('http://ggoreb.com/logo.jpg')

    2) HTML의 <img> 태그

# 상대경로
<img src='./logo.jpg'>

# 절대경로
<img src='http://ggoreb.com/logo.jpg'>

    3) 주피터 노트북 자체 문법

# 상대경로
![](./logo.jpg)

# 절대경로
![](http://ggoreb.com/logo.jpg)

 

 

이미지 파일이 준비되어 있다면 현재 위치에서 결과는 모두 같지만

 

노트북 파일을 다른 위치로 옮겨서 열었고 이미지 파일이 없다면

1) IPython.display의 Image 클래스를 사용하는 방법 외의 

상대경로로 지정된 방법은 이미지가 표현되지 않습니다.

 

상대경로로 지정했지만 Image 클래스를 사용했을 때만 보여지는 이유는

주피터 노트북은 출력결과를 노트북 파일에 함께 저장하는데

Image 클래스만 이미지를 출력결과로 표현하기 때문입니다.

 

혹시라도 Image 클래스를 사용하기는 싫고

다른 위치로 옮겼을 때도 이미지가 제대로 표현되길 원한다면

절대경로로 작성해주거나

Base64 문자로 인코딩된 Data Uri Image를 사용하는 방법도 있습니다.

 

노트북 파일에 이미지가 포함되기 때문에 노트북 파일의 용량이 증가되는 것은 어쩔 수 없습니다.

 

Data Uri Image는 필요하다면 직접 코드를 작성해서 결과를 얻을 수 있습니다.

import base64

with open('./logo.jpg', 'rb') as img:
    base64_string = base64.b64encode(img.read())
    print(f'data:image/jpeg;base64,{base64_string.decode()}')

이렇게 얻은 결과를 아래와 같이 표현하는 방법을 사용하면 됩니다.

<img src='data:image/jpeg;base64, ~~~~~ '>

![](data:image/jpeg;base64, ~~~~~ )