Traffine I/O

Bahasa Indonesia

2022-11-10

Pandas Dataframe ke Markdowns

Pengenalan

Artikel ini akan memandu Anda melalui proses membuat dataframe sampel menggunakan Pandas dan mengekspornya ke format Markdown dengan fungsi to_markdown() bawaan.

Membuat Dataframe Sampel

Sebelum mengekspor dataframe ke Markdown, mari membuat dataframe sampel menggunakan Pandas. Pada contoh ini, kita akan membuat dataframe yang berisi informasi tentang berbagai jenis buah dan nilai gizinya.

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)

Mengeskpor Dataframe ke Markdown dengan Pandas

Pandas memiliki fungsi bawaan to_markdown() untuk mengekspor dataframe ke format Markdown. Pertama, pastikan Anda telah menginstal paket yang dibutuhkan:

bash
$ pip install -U pandas[markdown]

Sekarang, Anda dapat menggunakan fungsi to_markdown() untuk mengekspor dataframe Anda ke Markdown.

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

Outputnya adalah tabel yang diformat dengan 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 |

Opsi to_markdown()

Fungsi to_markdown() di Pandas menyediakan berbagai opsi untuk menyesuaikan penampilan tabel Markdown yang dihasilkan. Di bagian ini, saya akan menjelajahi beberapa opsi ini dan menjelaskan cara menggunakannya dengan efektif.

  • buf
    Opsi ini memungkinkan Anda menulis tabel Markdown ke objek file-like atau buffer string. Secara default, opsi ini diatur ke None, yang berarti fungsi akan mengembalikan tabel Markdown hasilnya sebagai string.
python
with open("output.md", "w") as file:
    df.to_markdown(buf=file)
  • index
    Opsi boolean ini, ketika diatur ke True, akan menyertakan kolom indeks dalam tabel Markdown output. Secara default, opsi ini diatur ke True. Untuk mengecualikan indeks dari tabel output, setel ke False.
python
markdown_table = df.to_markdown(index=False)
print(markdown_table)
  • header
    Opsi ini memungkinkan Anda untuk menyertakan header kustom untuk kolom tabel. Secara default, opsi ini diatur ke True, yang berarti fungsi akan menggunakan nama kolom yang ada sebagai header. Jika Anda ingin menggunakan header kustom, lewati list string dengan header baru.
python
custom_headers = ['Fruit Name', 'Cal (kcal)', 'Fiber (g)', 'Vit C (mg)']
markdown_table = df.to_markdown(headers=custom_headers)
print(markdown_table)
  • tablefmt
    Opsi ini mengontrol format tabel yang digunakan dalam tabel Markdown output. Secara default, opsi ini diatur ke 'pipe'. Format lain yang tersedia termasuk 'simple', 'grid', dan 'tsv'.
python
markdown_table = df.to_markdown(tablefmt='grid')
print(markdown_table)
  • floatfmt
    Opsi ini memungkinkan Anda menentukan format untuk angka pecahan. Secara default, opsi ini diatur ke '.6g'. Anda dapat memberikan satu string untuk semua kolom pecahan atau daftar string untuk setiap kolom pecahan secara individu.
python
markdown_table = df.to_markdown(floatfmt='.2f')
print(markdown_table)
  • numalign
    Opsi ini mengontrol penyejajaran kolom numerik. Secara default, opsi ini diatur ke 'right'. Penyejajaran lain yang tersedia termasuk 'left', 'center', atau 'right'.
python
markdown_table = df.to_markdown(numalign='center')
print(markdown_table)
  • stralign
    Opsi ini mengontrol penyejajaran kolom non-numerik. Secara default, opsi ini diatur ke 'left'. Penyejajaran lain yang tersedia termasuk 'left', 'center', atau 'right'.
python
markdown_table = df.to_markdown(stralign='center')
print(markdown_table)

Ryusei Kakujo

researchgatelinkedingithub

Focusing on data science for mobility

Bench Press 100kg!