Traffine I/O

日本語

2022-11-10

PandasデータフレームをMarkdownに変換する方法

はじめに

この記事では、Pandasを使用してサンプルデータフレームを作成し、組み込みのto_markdown()関数を使用してMarkdown形式にエクスポートする方法を紹介します。

サンプルデータフレームの作成

Markdownにデータフレームをエクスポートする前に、Pandasを使用してサンプルデータフレームを作成します。この例では、異なるフルーツとその栄養価に関する情報を含むデータフレームを作成します。

python
import pandas as pd

data = {
    'Fruit': ['Apple', 'Banana', 'Orange', 'Strawberry', 'Kiwi'],
    'Calories': [95, 89, 47, 32, 61],
    'Fiber': [4.4, 2.6, 2.4, 2.0, 3.0],
    'Vitamin C': [14, 8.7, 53, 97, 92.7]
}

df = pd.DataFrame(data)

PandasでデータフレームをMarkdownにエクスポート

Pandasには、データフレームをMarkdown形式にエクスポートするための組み込み関数to_markdown()があります。まず、必要なパッケージがインストールされていることを確認してください。

bash
$ pip install -U pandas[markdown]

そして、to_markdown()関数を使用してデータフレームをMarkdownにエクスポートできます。

python
markdown_table = df.to_markdown()
print(markdown_table)

出力は、Markdown形式のテーブルになります。

|    | Fruit      |   Calories |   Fiber |   Vitamin C |
|---:|:-----------|-----------:|--------:|------------:|
|  0 | Apple      |         95 |     4.4 |        14   |
|  1 | Banana     |         89 |     2.6 |         8.7 |
|  2 | Orange     |         47 |     2.4 |        53   |
|  3 | Strawberry |         32 |     2   |        97   |
|  4 | Kiwi       |         61 |     3   |        92.7 |

to_markdown()のオプション

Pandasのto_markdown()関数には、エクスポートされたMarkdownテーブルの外観をカスタマイズするためのさまざまなオプションが用意されています。このセクションでは、いくつかのオプションを探索し、効果的に使用する方法を説明します。

  • buf
    このオプションは、Markdownテーブルをファイルライクオブジェクトまたは文字列バッファに書き込むことができます。デフォルトでは、Noneに設定されており、関数はエクスポートされたMarkdownテーブルを文字列として返します。
python
with open("output.md", "w") as file:
    df.to_markdown(buf=file)
  • index
    このブールオプションは、出力Markdownテーブルにインデックス列を含めるかどうかを設定します。デフォルトでは、Trueに設定されています。出力テーブルからインデックスを除外するには、Falseに設定してください。
python
markdown_table = df.to_markdown(index=False)
print(markdown_table)
  • header
    このオプションは、テーブル列にカスタムヘッダーを含めることができます。デフォルトでは、Trueに設定されており、関数は既存の列名をヘッダーとして使用します。カスタムヘッダーを使用する場合は、新しいヘッダーの文字列リストを渡してください。
python
custom_headers = ['Fruit Name', 'Cal (kcal)', 'Fiber (g)', 'Vit C (mg)']
markdown_table = df.to_markdown(headers=custom_headers)
print(markdown_table)
  • tablefmt
    このオプションは、出力Markdownテーブルで使用されるテーブル形式を制御します。デフォルトでは、'pipe'に設定されています。他には、'simple''grid''tsv'などがあります。
python
markdown_table = df.to_markdown(tablefmt='grid')
print(markdown_table)
  • floatfmt
    このオプションは、浮動小数点数のフォーマットを指定することができます。デフォルトでは、'.6g'に設定されています。全ての浮動小数点列に単一の文字列を指定するか、各浮動小数点列ごとに文字列のリストを指定することができます。
python
markdown_table = df.to_markdown(floatfmt='.2f')
print(markdown_table)
  • numalign
    このオプションは、数値列の整列を制御します。デフォルトでは、'right'に設定されています。他には、'left''center''right'などがあります。
python
markdown_table = df.to_markdown(numalign='center')
print(markdown_table)
  • stralign
    このオプションは、数値以外の列の整列を制御します。デフォルトでは、'left'に設定されています。他には、'left''center''right'などがあります。
python
markdown_table = df.to_markdown(stralign='center')
print(markdown_table)

Ryusei Kakujo

researchgatelinkedingithub

Focusing on data science for mobility

Bench Press 100kg!