Ana içeriğe geç

Python Tabulate: Kapsamlı Bir Rehber

Python'da tabulate kütüphanesini kullanarak iyi biçimlendirilmiş tablolar oluşturun. Gelişmiş özelliklerini ve tablo görünümünü özelleştirme seçeneklerini öğrenin.
· 8 dk. oku

Yapay Zeka ile Keşfedin

Tablolu veriler, satır ve sütunlar halinde yapılandırılmış verilere denir. Verileri bu şekilde yapılandırmak önemlidir; çünkü çıktının yorumlanmasını kolaylaştırır. Python'da, tabulate kütüphanesini kullanarak göze hoş görünen tablolu veriler oluşturabiliriz. tabulate kütüphanesi kullanımı kolaydır ve sunum için temiz biçimlendirilmiş tablolar oluşturması gereken veri bilimciler, analistler ve geliştiriciler arasında tercih edilen araçlardan biri haline gelmiştir.

Bir veri analisti ya da veri bilimci olarak yeni başlıyorsanız, fonksiyonlar ve paketler dahil olmak üzere Python dilinin temellerini öğrenmek için DataCamp’in Introduction to Python kursunu öneririm. 

Python Tabulate nedir?

Python'daki tabulate paketi, çeşitli veri kaynaklarından iyi biçimlendirilmiş tablolar oluşturur. tabulate paketinin başlıca kullanım alanları şunlardır:

  • Komut Satırı Arayüzlerinde (CLI) Verileri Görüntülemek: tabulate paketi, geliştiricilerin terminalde veya konsolda biçimlendirilmiş tabloları okunaklı bir şekilde göstermesine yardımcı olur.

  • Jupyter Notebook'lar: tabulate() fonksiyonu Jupyter Notebook'larda şık tablolar göstermeye yardımcı olur.

  • Web Uygulamaları: tabulate paketi, geliştiricilerin web uygulamalarında tabloları HTML formatında göstermesine yardımcı olur.

tabulate kütüphanesinin bazı temel özellikleri şunlardır:

  • Birden Fazla Çıktı Formatı: tabulate paketi, düz metin, HTML, LaTeX ve diğerleri dahil olmak üzere farklı formatlarda tablo çıktısına olanak tanır; böylece kullanıcılar kullanım senaryosuna göre seçim yapabilir.

  • Otomatik Sütun Hizalaması: tabulate, string, sayı ve diğerleri dahil farklı veri türlerinin sütunlarını otomatik olarak hizalar. 

  • Çeşitli Veri Yapılarının İşlenmesi: tabulate, sözlükleri, listeleri, pandas DataFrame'lerini ve NumPy dizilerini işler.

Python'da Tabulate Nasıl Kurulur

Python'da tabulate paketini kurmak için pip paket yöneticisini kullanabilirsiniz. Terminalinizde veya komut isteminde aşağıdaki komutu yazıp çalıştırın:

pip install tabulate

Paketi yönetici ayrıcalıkları olmadan tek bir kullanıcı için kurmak isterseniz, aşağıda gösterildiği gibi –user bayrağını kullanabilirsiniz.

pip install --user tabulate

Betikleri bir sanal ortamda çalıştırırken aşağıdaki komutla yeni bir sanal ortam oluşturabilirsiniz.

python -m venv myenv

Sanal ortamı etkinleştirmek için aşağıdaki komutları çalıştırın:

Windows için:

myenv\Scripts\activate

macOS/Linux için:

source myenv/bin/activate

Kurulum başarılıysa, Python ortamınızdaki tabulate paketinin sürüm numarasını kontrol etmek için Python düzenleyicinizde aşağıdaki kodu çalıştırabilirsiniz.

import tabulate
print(tabulate.__version__)

Araçlarınızın güncellenmesi gerektiğini fark ederseniz, şu rehberimize göz atın: How to Upgrade Python and Pip in Windows, MacOS, and Linux.

Python Tabulate'ın Temel Kullanımları

Aşağıdaki örnekler, biçimlendirilmiş tablolar oluşturmak için tabulate paketinin temel kullanımını gösterir.

Basit tablolar oluşturma

Tablolar oluşturmak için tabulate() fonksiyonunu kullanmanın en basit yolu, liste listesi sağlamaktır. tabulate() fonksiyon söz dizimindeki temel argümanlar şunlardır:

  • tabular_data: Biçimlendirilecek veriler; örneğin liste listesi veya sözlükler.

  • headers: Tabloya verilecek başlıklar. Atlanırsa, tablo başlıksız olur.

  • tablefmt: Tablo çıktı formatı; örneğin “plain”, “pipe”, “grid” veya “html”.

Aşağıdaki örnek, ızgara biçiminde bir tablo oluşturmak için tabulate() fonksiyonunun nasıl kullanılacağını gösterir.

# Import the tabulate module
from tabulate import tabulate

# Sample data: list of lists
data = [
    ["Alice", 24, "Engineer"],
    ["Bob", 30, "Data Scientist"],
    ["Charlie", 28, "Teacher"]
]

# Creating a table with headers and a grid format
table = tabulate(
    data, 
    headers=["Name", "Age", "Profession"], 
    tablefmt="grid"
)

print(table)

Python tabulate kullanılarak ızgara biçiminde tablo.

Python tabulate kullanılarak ızgara biçiminde tablo. Görsel: Yazar.

Python'daki listeler ve diğer veri yapıları hakkında daha fazla bilgi edinmek için Python Fundamentals beceri yolumuzu inceleyin.

pandas DataFrame'lerinden veri görüntüleme

pandas DataFrame, Python'da tablolu verileri işleyen yaygın bir veri yapısıdır. tabulate kütüphanesini kullanarak, gereksinimlere göre tablolu verileri farklı formatlarda biçimlendirebilirsiniz. Aşağıdaki örnek, tabloyu ‘pipe’ formatını kullanarak nasıl görüntüleyeceğinizi gösterir.

# Import libraries
import pandas as pd
from tabulate import tabulate

# Sample DataFrame
df = pd.DataFrame({
    "Name": ["Alice", "Bob", "Charlie"],
    "Age": [24, 30, 28],
    "Profession": ["Engineer", "Data Scientist", "Teacher"]
})

# Displaying the DataFrame as a formatted table
table = tabulate(
    df, 
    headers='keys', 
    tablefmt='pipe'
)

print(table)

Python tabulate fonksiyonunda pipe biçimlendirme stili kullanılarak tablo çıktısı.

Python tabulate() fonksiyonunda pipe biçimlendirme stili kullanılarak tablo çıktısı. Görsel: Yazar.

Aynı DataFrame olan df ile tablo çıktısını ızgara formatında da gösterebilirsiniz.

print(tabulate(df, headers='keys', tablefmt='grid'))

Python tabulate fonksiyonunda grid biçimlendirme stili kullanılarak tablo çıktısı.

Python tabulate() fonksiyonunda grid biçimlendirme stili kullanılarak tablo çıktısı. Görsel: Yazar.

Python Tabulate'ın Gelişmiş Özellikleri

tabulate kütüphanesi, karmaşık tabloların görünümünü özelleştirmenize olanak tanıyan gelişmiş özellikler sunar. Bu özelliklerden bazılarını tartışalım.

Tablo görünümünü özelleştirme

tabulate kütüphanesi, hizalamayı ayarlama, sütun genişliklerini belirleme ve farklı tablo formatları kullanma gibi tablo görünümünü özelleştirmenin çeşitli yollarını sunar. Başlıca biçimlendirme seçeneklerinden bazıları şunlardır.

  • numalign: Sayısal sütunların hizalamasını kontrol eder. Kabul edilebilir değerler "left", "center" ve "right"tır.

  • stralign: Metin (string) sütunlarının hizalamasını kontrol eder. Kabul edilebilir değerler "left", "center" ve "right"tır.

  • colalign: Hizalama seçeneklerinden oluşan bir liste sağlayarak tek tek sütunlar için özel hizalama yapılmasına olanak tanır.

Aşağıdaki örnek bu biçimlendirme seçeneklerinin uygulanışını gösterir.

from tabulate import tabulate

# Sample data: list of lists
data = [
    ["Alice", 24, 1200.50],
    ["Bob", 30, 3500.75],
    ["Charlie", 28, 2500.00]
]

# Customizing table appearance
table = tabulate(
    data,
    headers=["Name", "Age", "Salary"],
    tablefmt="fancy_grid",
    numalign="right",
    stralign="center",
    colalign=("center", "center", "right")
)

print(table)

Python tabulate kullanılarak özelleştirilmiş tablo çıktısı.

Python tabulate kullanılarak özelleştirilmiş tablo çıktısı. Görsel: Yazar.

Çok satırlı hücreleri işleme

tabulate kütüphanesi, tipik sütun genişliğini aşan metin verilerini de yönetmenizi sağlar. Hücre içindeki metin sarma işlemini yönetmek için maxcolwidths argümanı, çıktı tablosundaki her hücrenin maksimum genişliğini belirtir. Bu işlevsellik, uzun bilgileri daha okunabilir bir şekilde görüntülemenize olanak tanır.

Aşağıdaki örnekte, belirtilen karakter sayısını aşması halinde metni birden fazla satıra sarmak için maxcolwidths 30 karakter olarak ayarlanmıştır.

# Import tabulate library
from tabulate import tabulate

# Sample text data
data = [
    ["Alice", "Lorem ipsum dolor sit amet, consectetur adipiscing elit."],
    ["Bob", "Sed do eiusmod tempor incididunt ut labore et dolore magna aliqua."],
    ["Charlie", "Ut enim ad minim veniam, quis nostrud exercitation ullamco."]
]

# Creating a table with multiline cells
table = tabulate(
    data,
    headers=["Name", "Description"],
    tablefmt="grid",
    maxcolwidths=[None, 30]  # Set maximum width for the Description column
)

print(table)

Python tabulate kullanılarak çok satırı işleyen tablo çıktısı.

Python tabulate kullanılarak çok satırı işleyen tablo çıktısı. Görsel: Yazar.

Komut satırı aracını kullanma

tabulate kütüphanesi, tabloları doğrudan komut satırından veya terminalden göstermenize yardımcı olan bir komut satırı aracı sağlar. Bu komut satırı aracı, ek Python kodu yazmadan tablolar oluşturmanıza olanak tanır.

data.csv adlı bir CSV dosyanız olduğunu varsayalım. Tabloyu tabulate kullanarak oluşturmak için aşağıdaki komut istemini kullanacaksınız.

cat data.csv | tabulate -d , -f grid

Burada:

  • cat data.csv, CSV dosyasının içeriğini okur.

  • -d ,, ayırıcıyı belirtir (CSV için virgül).

  • -f grid, çıktı formatını grid stiline ayarlar.

Pratik Örnekler ve Kullanım Senaryoları

Bu bölümde, Python'da tabloları görüntülemek için tabulate kütüphanesinin farklı kullanım senaryolarını inceleyeceğiz.

Satış verilerini görüntüleme

Aşağıdaki satış verilerine sahip olduğumuzu varsayalım.

# Sample sales data
sales_data = [
    ["Q1", 15000, 12000, 13000],
    ["Q2", 17000, 16000, 14500],
    ["Q3", 18000, 15000, 16000],
    ["Q4", 20000, 21000, 19000]
]

headers = ["Quarter", "Product A", "Product B", "Product C"]

Verileri fancy_grid formatını kullanarak bir tabloda görüntüleyebilirsiniz.

# Import tabulate library
from tabulate import tabulate

# Displaying sales data using the 'fancy_grid' format
table_fancy = tabulate(sales_data, headers=headers, tablefmt="fancy_grid")

print(table_fancy)

Python tabulate'ta fancy_grid biçimlendirme kullanılarak tablo çıktısı.

Python tabulate'ta fancy_grid biçimlendirme kullanılarak tablo çıktısı. Görsel: Yazar.

Ayrıca, tablefmt'i html olarak ayarlayarak verileri HTML formatında da görüntüleyebilirsiniz.

# Displaying sales data using the 'html' format
table_html = tabulate(sales_data, headers=headers, tablefmt="HTML")

print(table_html)

Çıktı:

<table>
<thead>
<tr><th>Quarter  </th><th style="text-align: right;">  Product A</th><th style="text-align: right;">  Product B</th><th style="text-align: right;">  Product C</th></tr>
</thead>
<tbody>
<tr><td>Q1       </td><td style="text-align: right;">      15000</td><td style="text-align: right;">      12000</td><td style="text-align: right;">      13000</td></tr>
<tr><td>Q2       </td><td style="text-align: right;">      17000</td><td style="text-align: right;">      16000</td><td style="text-align: right;">      14500</td></tr>
<tr><td>Q3       </td><td style="text-align: right;">      18000</td><td style="text-align: right;">      15000</td><td style="text-align: right;">      16000</td></tr>
<tr><td>Q4       </td><td style="text-align: right;">      20000</td><td style="text-align: right;">      21000</td><td style="text-align: right;">      19000</td></tr>
</tbody>
</table>

HTML tablo çıktısı, tablo çıktısını web sitelerine gömmek istediğinizde web entegrasyonlarında kullanışlıdır. Kullanıcıya daha çekici bir görünüm kazandırmak için HTML tablo çıktısını CSS ile daha da özelleştirebilirsiniz.

Jupyter Notebook'lar ile entegrasyon

tabulate kütüphanesi, daha kolay veri sunumu için Jupyter Notebook'larla kolayca entegre edilebilir. Aşağıdaki örnek, bir Jupyter Notebook içinde örnek bir DataFrame'in nasıl oluşturulacağını ve ızgara biçimli bir tabloda nasıl görüntüleneceğini gösterir.

# Import required library
import pandas as pd
from tabulate import tabulate

# Sample student exam scores DataFrame
exam_scores_df = pd.DataFrame({
    "Student": ["Alice", "Bob", "Charlie", "David"],
    "Math": [85, 90, 78, 92],
    "Science": [88, 76, 95, 85],
    "English": [90, 88, 84, 91]
})

# Displaying the DataFrame as a formatted table using 'grid' format
table_jupyter = tabulate(exam_scores_df, headers='keys', tablefmt='grid')

print(table_jupyter)

Python tabulate ile Jupyter Notebook entegrasyonu kullanılarak verilerin tablo çıktısı.

Jupyter Notebook ile entegre edilen Python tabulate kullanılarak tablo çıktısı. Görsel: Yazar.

Jupyter ortamında tabulate kütüphanesini kullanmanın avantajı, özellikle veri analizi görevlerinde okunabilirliği ve veri karşılaştırmasını artırmasıdır.

Sonuç

tabulate kütüphanesi, Python'da güzel biçimlendirilmiş tablolar oluşturmak için önemlidir. Gördüğünüz gibi, Jupyter Notebook'lar, komut satırları ve web uygulamaları gibi farklı ortamlarda kullanım esnekliği de sunar; HTML gibi çıktı seçenekleri de dahil.

Python becerilerinizi ilerletmek istiyorsanız, DataCamp’in Python Programming beceri yoluna kesinlikle göz atmanızı öneririm. Ayrıca yetkin bir veri analisti olmak için iş ile ilgili beceriler geliştirmenize yardımcı olacak Python Developer ve Data Analyst with Python kariyer yollarımıza da göz atmanızı tavsiye ederim. Son olarak, Python'da tablolarla çalışmayı seviyorsanız, SQL'i Python ile kullanma hakkında daha fazla bilgi edinmek için DataCamp’in Introduction to Databases in Python kursunu deneyin. Son olarak, eğer o heyecan verici adıma hazırsanız, aşağıya tıklayarak Python ile bir makine öğrenimi bilim insanı olun.

Allan Ouko

Yazar

Allan Ouko

Veri analitiği, iş zekâsı ve veri bilimi alanlarında pratik deneyime sahip Veri Bilimi Teknik Yazarı. SQL, Python, Power BI, Databricks ve veri mühendisliği üzerine, gerçek dünya analitik çalışmalarına dayanan, uygulamaya dönük ve sektöre odaklı içerikler yazıyorum. Yazılarım teknik derinlikle iş etkisi arasındaki köprüyü kurarak profesyonellerin veriyi güvenle karara dönüştürmelerine yardımcı olur.

Sıkça Sorulan Sorular

Python'da tabulate kütüphanesi nedir?

tabulate kütüphanesi, Python'da farklı veri yapılarından iyi biçimlendirilmiş tablolar oluşturur.

tabulate kütüphanesini nasıl kurarım?

tabulate kütüphanesini kurmak için pip install tabulate komutunu kullanın.

Python tabulate kütüphanesinde hangi çıktı formatları desteklenir?

tabulate kütüphanesi düz metin, HTML, grid, LaTeX, Markdown ve diğer formatlarda tablo çıktısını destekler.

tabulate kütüphanesinde hangi veri yapıları desteklenir?

tabulate kütüphanesi, şu veri yapılarından tablo çıktıları oluşturmak için kullanılabilir: Liste listesi, sözlük listesi, yinelenebilirlerden oluşan sözlük, iki boyutlu NumPy dizileri ve Pandas DataFrame'leri.

tabulate kütüphanesi doğrudan komut satırında kullanılabilir mi?

Tabulate, tüm Python kodunu yazmadan doğrudan terminalden tablolar oluşturmak için bir komut satırı aracı sağlar.

Konular

İlgili