데이터프레임을 마크다운 형식의 표로 출력하고 싶을 때는, to_markdown() 을 이용할 수 있다.

우선 pandas와 tabluate를 설치하고, 데이터프레임을 불러오자.

# 먼저 설치되어야 하는 기능
# pip install --upgrade pandas
# pip install --upgrade tabulate

# pandas 기능 가져오기
from pandas import DataFrame


데이터프레임을 만들고, to_markdown() 기능을 넣은 뒤 출력하면,


dwstat = [
    [ '전사', 14, 11, 13, 13, 12, 12 ],
    [ '음유시인', 13, 15, 10, 13, 13, 16 ],
    [ '사제', 7, 8, 8, 15, 10, 12 ],
    [ '마법사', 8, 9, 12, 16, 15, 13],
    [ '성기사', 15, 9, 12, 10, 10, 13]
]

df = DataFrame(dwstat, index=['베니르','마다라','캐스','제노','리셰르'])

print(df.to_markdown())


다음과 같이 나온다.

|        | 0        |   1 |   2 |   3 |   4 |   5 |   6 |
|:-------|:---------|----:|----:|----:|----:|----:|----:|
| 베니르 | 전사     |  14 |  11 |  13 |  13 |  12 |  12 |
| 마다라 | 음유시인 |  13 |  15 |  10 |  13 |  13 |  16 |
| 캐스   | 사제     |   7 |   8 |   8 |  15 |  10 |  12 |
| 제노   | 마법사   |   8 |   9 |  12 |  16 |  15 |  13 |
| 리셰르 | 성기사   |  15 |   9 |  12 |  10 |  10 |  13 |

이렇게 생성된 마크다운 테이블을 마크다운 형식 문서에 붙여넣으면, 다음과 같이 출력된다.

jupyter notebook 에서 출력된 모습. 다른 에디터에서는 다르게 보일 수 있다.

to_html() 을 이용하면, html 코드로 출력한 뒤 사용할 수도 있다.

print(df.to_html())

출력된 테이블.

<table border="1" class="dataframe">
 <thead>
   <tr style="text-align: right;">
     <th></th>
     <th>0</th>
     <th>1</th>
     <th>2</th>
     <th>3</th>
     <th>4</th>
     <th>5</th>
     <th>6</th>
   </tr>
 </thead>
 <tbody>
   <tr>
     <th>베니르</th>
     <td>전사</td>
     <td>14</td>
     <td>11</td>
     <td>13</td>
     <td>13</td>
     <td>12</td>
     <td>12</td>
   </tr>
   <tr>
     <th>마다라</th>
     <td>음유시인</td>
     <td>13</td>
     <td>15</td>
     <td>10</td>
     <td>13</td>
     <td>13</td>
     <td>16</td>
   </tr>
   <tr>
     <th>캐스</th>
     <td>사제</td>
     <td>7</td>
     <td>8</td>
     <td>8</td>
     <td>15</td>
     <td>10</td>
     <td>12</td>
   </tr>
   <tr>
     <th>제노</th>
     <td>마법사</td>
     <td>8</td>
     <td>9</td>
     <td>12</td>
     <td>16</td>
     <td>15</td>
     <td>13</td>
   </tr>
   <tr>
     <th>리셰르</th>
     <td>성기사</td>
     <td>15</td>
     <td>9</td>
     <td>12</td>
     <td>10</td>
     <td>10</td>
     <td>13</td>
   </tr>
 </tbody>
</table>

그대로 html코드를 출력하면,

표가 잘 만들어진 것을 확인할 수 있다.


덤 )

html로 출력된 표 모양을 좀 다듬어 보자.

문서 스타일을 꾸며 주는 css태그는, <style> </style> 사이에 들어간다.

웹폰트는 미리 적용.

<!-- 요 부분은 html 주석이다. -->

<!doctype html>
    <head>
        <meta charset="utf-8">
        <title> PS-moratorium </title>
        
        <!-- 웹폰트 -->
        <link href="https://fonts.googleapis.com/css?family=Nanum+Gothic:400,700,800&amp;subset=korean" rel="stylesheet">
        
<!-- 여기부터 -->        
        <style>
    /* 문단과 테이블 내 폰트 지정 */
            p, table {
            font-family:"Nanum Gothic", sans-serif;
            font-size: 12;
            }

    /* css 스타일이 들어갈 공간 */
        
        </style>
<!-- 여기까지 -->
        
    </head>
    <body>
    
    </body>

css style 부분에 table, tr, td 속성을 마저 지정해 주자.

/* 요 부분은 css 주석이다 */

/* 표 속성 */
    table {
        /* 너비 */
        width: auto;
        /* 테두리 */
        border-collapse: collapse;
        border-top: 1px solid #000099;
        border-bottom: 1px solid #000099;
        /* 여백 */
        margin-left: auto;
        margin-right: auto;
}
    /* 제목 */
    th {
        /* 글자 정렬 */
        text-align:center;
        /* 배경색 */
        background-color: #bfcfff;
        /* 테두리 */
        border-bottom: 1px solid #000099;
}
    /* 내용 */
    td {
        /* 글자 정렬 */
        text-align:center;
}
    /* 짝수 행 */
    tbody tr:nth-child(2n) {
        /* 배경색 */
        background-color: #e6ecff;
}
    /* 홀수 행 */
    tbody tr:nth-child(2n+1) {
        /* 배경색 */
        background-color: #ffffff;
}

스타일을 적용한 모습.

자욱님의 창작활동을 응원하고 싶으세요?