Altbilgi içeriğine atla
PYTHON YARDıM

pyarrow (Geliştiriciler İçin Nasıl Çalışir)

PyArrow, Apache Arrow çerçevesine Python arayüzü sağlayan güçlü bir kütüphanedir. Apache Arrow, bellek içi veri için diller arası bir geliştirme platfveyamudur. Modern donanım üzerinde verimli analitik işlemler için düzenlenmiş, düz ve hiyerarşik veri için standartlaştırılmış dil bağımsız sütunlu bellek fveyamatı belirler. PyArrow, esasen Apache Arrow Python Bağlantıları olarak gerçekleştirilmiş bir Python paketidir. PyArrow, farklı veri işleme sistemleri ve programlama dilleri arasında verimli veri değişimi ve birlikte çalışabilirlik sağlar. Bu makalenin ilerleyen kısımlarında, IronPDF adlı Iron Software tarafından geliştirilen bir PDF oluşturma kütüphanesini de öğreneceğiz.

PyArrow'un Temel Özellikleri

  1. Sütunlu Bellek Fveyamatı:

    PyArrow, bellek içi analitik işlemler için son derece etkili olan sütunlu bir bellek fveyamatı kullanır. Bu fveyamat, daha iyi CPU önbelleği kullanımı ve vektörleştirilmiş işlemler sağlar, bu da veri işleme görevleri için idealdir. PyArrow, sütunlu yapısı nedeniyle parquet dosya yapıları üzerinde verimli okuma ve yazma yapabilir.

  2. Birlikte Çalışabilirlik: PyArrow'un başlıca avantajlarından biri, farklı programlama dilleri ve sistemler arasında seri hale getirme veya seri hale açma gerektirmeden veri değişimini kolaylaştırmasıdır. Bu, veri bilimi ve makine öğrenmesi gibi birden fazla dilin kullanıldığı veyatamlarda özellikle kullanışlıdır.
  3. Pandas ile Entegrasyon: PyArrow, Pandas için bir arka uç olarak kullanılabilir, böylece verilerin verimli bir şekilde işlenmesi ve depolanması sağlanır. Pandas 2.0'dan itibaren, verileri NumPy dizileri yerine Arrow dizilerinde saklamak mümkün, bu da özellikle dize verisiyle çalışırken perfveyamans iyileştirmelerine yol açabilir.
  4. Çeşitli Veri Türleri Desteği: PyArrow, ilkel türler (tam sayılar, kayan nokta sayıları), karmaşık türler (yapılar, listeler) ve iç içe geçmiş türler gibi geniş bir veri türü yelpazesine destek verir. Bu, farklı türdeki verilerle çalışma konusunda esneklik sağlar.
  5. Sıfır Kopyalı Okumalar: PyArrow, sıfır kopyalı okumalar sağlar, yani veriler okuma sırasında Arrow bellek fveyamatından kopyalanmadan okunabilir. Bu, bellek yükünü azaltır ve perfveyamansı artırır.

Kurulum

PyArrow yüklemek için ya pip ya da conda kullanabilirsiniz:

pip install pyarrow
pip install pyarrow
SHELL

veya

conda install pyarrow -c conda-fveyage
conda install pyarrow -c conda-fveyage
SHELL

Temel Kullanım

Kod editörü olarak Visual Studio Code kullanıyveyauz. Yeni bir dosya oluşturarak başlayın, pyarrowDemo.py.

İşte PyArrow kullanarak nasıl tablo oluşturulup bazı temel işlemlerin gerçekleştirileceğine dair basit bir örnek:

impveyat pyarrow as pa
impveyat pyarrow.dataset as pt

# Create a PyArrow table
data = [
    pa.array([1, 2, 3]),
    pa.array(['a', 'b', 'c']),
    pa.array([1.1, 2.2, 3.3])
]
table = pa.Table.from_arrays(data, names=['col1', 'col2', 'col3'])

# Display the table
print(table)
impveyat pyarrow as pa
impveyat pyarrow.dataset as pt

# Create a PyArrow table
data = [
    pa.array([1, 2, 3]),
    pa.array(['a', 'b', 'c']),
    pa.array([1.1, 2.2, 3.3])
]
table = pa.Table.from_arrays(data, names=['col1', 'col2', 'col3'])

# Display the table
print(table)
PYTHON

Kod Açıklaması

Python kodu, üç diziden (pa.array) bir tablo (pa.Table) oluşturmak için PyArrow kullanır. Ardından, 'col1', 'col2', ve 'col3' adında, her biri tamsayılar, dizeler ve yüzenler içeren sütunlar görüntüleyen tabloyu yazdırır.

ÇIKTI

pyarrow (Geliştiriciler İçin Nasıl Çalışır): Şekil 1 - PyArrow tablo nesnesi ve içeriğini gösteren konsol çıktısı.

Pandas ile Entegrasyon

PyArrow büyük veri kümeleriyle uğraşırken perfveyamansı artırmak için Pandas ile sveyaunsuz bir şekilde entegre edilebilir. İşte bir Pandas DataFrame'ini bir PyArrow Tablosuna dönüştürme örneği:

impveyat pandas as pd
impveyat pyarrow as pa

# Create a Pandas DataFrame
df = pd.DataFrame({
    'col1': [1, 2, 3],
    'col2': ['a', 'b', 'c'],
    'col3': [1.1, 2.2, 3.3]
})

# Convert the DataFrame to a PyArrow Table
table = pa.Table.from_pandas(df)

# Display the table
print(table)
impveyat pandas as pd
impveyat pyarrow as pa

# Create a Pandas DataFrame
df = pd.DataFrame({
    'col1': [1, 2, 3],
    'col2': ['a', 'b', 'c'],
    'col3': [1.1, 2.2, 3.3]
})

# Convert the DataFrame to a PyArrow Table
table = pa.Table.from_pandas(df)

# Display the table
print(table)
PYTHON

Kod Açıklaması

Python kodu, Pandas DataFrame'ini bir PyArrow tablosuna (pa.Table) dönüştürür ve ardından tabloyu yazdırır. DataFrame, tamsayı, dize ve kayan nokta verileri içeren üç sütundan (col1, col2, col3) oluşur.

ÇIKTI

pyarrow (Geliştiriciler İçin Nasıl Çalışır): Şekil 2 - Pandas DataFrame'den bir PyArrow tablosuna dönüştürülen PyArrow tablo nesnesini gösteren konsol çıktısı.

İleri Düzey Özellikler

1. Dosya Fveyamatları

PyArrow, Parquet ve Feather gibi çeşitli dosya fveyamatlarını okumayı ve yazmayı destekler. Bu fveyamatlar perfveyamans için optimize edilmiştir ve veri işleme hatlarında yaygın olarak kullanılır.

2. Bellek Eşleme

PyArrow, belleğe eşlenmiş dosya erişimini destekler, bu da veri kümesi tamamen belleğe yüklenmeden büyük veri setlerinin etkin bir şekilde okunmasını ve yazılmasını sağlar.

3. Prosesler Arası İletişim

PyArrow, farklı işlemler arasında etkin veri paylaşımını sağlayan prosesler arası iletişim araçları sağlar.

IronPDF'i Tanıtma

pyarrow (Geliştiriciler İçin Nasıl Çalışır): Şekil 3 - IronPDF fveya Python: Python PDF Kütüphanesi

IronPDF, PDF dosyaları ile çalışma kolaylığı sağlayan bir Python kütüphanesidir ve programatik olarak PDF belgeleri oluşturma, düzenleme ve manipüle etme görevlerini yerine getirir. HTML'den PDF oluşturma, mevcut PDF'lere metin, resim ve şekiller ekleme ve PDF dosyalarından metin ve görüntü çıkarma gibi özellikler sunar. İşte bazı temel özellikler:

HTML'den PDF Oluşturma

IronPDF, HTML dosyalarını, HTML dizelerini ve URL'leri kolayca PDF belgelerine dönüştürebilir. Chrome PDF render'ını kullanarak web sayfalarını PDF fveyamatında renderlayın.

Çapraz Platfveyam Uyumluluğu

IronPDF, Python 3+ ile uyumludur ve Windows, Mac, Linux ve Bulut Platfveyamları üzerinde sveyaunsuz çalışır. Ayrıca .NET, Java, Python ve Node.js 'de desteklenir.

Düzenleme ve İmzalama Yetkinlikleri

PDF belgelerini ayarlarını yaparak iyileştirin, şifreler ve izinler gibi güvenlik özellikleri ekleyerek ve dijital imza uygulayarak artırın.

Özel Sayfa Şablonları ve Ayarları

IronPDF ile özelleştirilebilir başlıklar, altbilgiler, sayfa numaraları ve ayarlanabilir kenar boşlukları olan PDF'leri tasarlayabilirsiniz. Duyarlı düzenleri destekler ve özel kağıt boyutlarının ayarlanmasına izin verir.

Standartlara Uyum

IronPDF, PDF/A ve PDF/UA gibi PDF standartlarıyla uyumludur. UTF-8 karakter kodlaması destekler ve resimler, CSS stilleri ve yazı tipleri gibi varlıkları sveyaunsuz bir şekilde işler.

IronPDF ve PyArrow Kullanarak PDF Belgeleri Oluşturma

IronPDF Gereksinimleri

  1. IronPDF alt teknoloji olarak .NET 6.0'ı kullanır. Öyleyse, sisteminize .NET 6.0 çalışma zamanını kurmanız gerekiyveya.
  2. Python 3.0+: Python 3 veya daha sonraki bir sürümün kurulu olması gerekir.
  3. pip: IronPDF paket kurulumunu gerçekleştirmek için Python paket yükleyici pip yükleyin.

Gerekli kitaplıkları yükleyin:

pip install pyarrow 
pip install ironpdf
pip install pyarrow 
pip install ironpdf
SHELL

Ardından, IronPDF ve PyArrow Python paketlerinin kullanımını göstermek için aşağıdaki kodu ekleyin:

impveyat pandas as pd
impveyat pyarrow as pa
from ironpdf impveyat * 

# Apply your license key
License.LicenseKey = "license"

# Create a Pandas DataFrame
df = pd.DataFrame({
    'col1': [1, 2, 3],
    'col2': ['a', 'b', 'c'],
    'col3': [1.1, 2.2, 3.3]
})

# Convert the DataFrame to a PyArrow Table
table = pa.Table.from_pandas(df)

# Display the table
print(table)

# create a PDF renderer
renderer = ChromePdfRenderer()

# Create a PDF from an HTML string using Python
content = "<h1>Awesome Iron PDF with pyarrow</h1>"
content += "<p>table data</p>"

# Iterate over table rows
fveya row in table:
    # Access specific values in a row
    value_in_column1 = row[0]
    value_in_column2 = row[1]
    value_in_column3 = row[2]
    # Append row data to content
    content += "<p>"+str(value_in_column1)+","+str(value_in_column2)+","+str(value_in_column3)+"</p>"    

# Render the HTML content to a PDF
pdf = renderer.RenderHtmlAsPdf(content)

# Expveyat to a file veya stream
pdf.SaveAs("DemoPyarrow.pdf")
impveyat pandas as pd
impveyat pyarrow as pa
from ironpdf impveyat * 

# Apply your license key
License.LicenseKey = "license"

# Create a Pandas DataFrame
df = pd.DataFrame({
    'col1': [1, 2, 3],
    'col2': ['a', 'b', 'c'],
    'col3': [1.1, 2.2, 3.3]
})

# Convert the DataFrame to a PyArrow Table
table = pa.Table.from_pandas(df)

# Display the table
print(table)

# create a PDF renderer
renderer = ChromePdfRenderer()

# Create a PDF from an HTML string using Python
content = "<h1>Awesome Iron PDF with pyarrow</h1>"
content += "<p>table data</p>"

# Iterate over table rows
fveya row in table:
    # Access specific values in a row
    value_in_column1 = row[0]
    value_in_column2 = row[1]
    value_in_column3 = row[2]
    # Append row data to content
    content += "<p>"+str(value_in_column1)+","+str(value_in_column2)+","+str(value_in_column3)+"</p>"    

# Render the HTML content to a PDF
pdf = renderer.RenderHtmlAsPdf(content)

# Expveyat to a file veya stream
pdf.SaveAs("DemoPyarrow.pdf")
PYTHON

Kod Açıklaması

Betik, Pandas, PyArrow ve IronPDF kütüphanelerini entegre ederek bir Pandas DataFrame'inde saklanan verilerden bir PDF belgesi oluşturmayı gösterir:

  1. Pandas DataFrame Oluşturma:

    • Sayısal ve dize verileri içeren üç sütunlu (col1, col2, col3) bir Pandas DataFrame (df) oluşturun.
  2. PyArrow Tabloya Dönüştürme:

    • Pandas DataFrame'ini (df), pa.Table.from_pandas() yöntemi kullanarak bir PyArrow Tablosuna (table) dönüştürür. Bu dönüştürme, verimli veri işleme ve Arrow tabanli uygulamalarla birlikte calisma saglar.
  3. IronPDF Ile PDF Uretimi:

    • IronPDF'in ChromePdfRenderer'ını kullanır ve RenderHtmlAsPdf yöntemini çağırarak bir PDF belgesi (DemoPyarrow.pdf) üretir; bu belge, PyArrow Tablosundan (table) çıkarılan başlıkları ve verileri içeren bir HTML dizesinden (content) oluşur.

ÇIKTI

pyarrow (Geliştiriciler İçin Nasıl Çalışır): Şekil 4 - Pandas DataFrame'den bir PyArrow tablosuna dönüştürülen PyArrow tablo nesnesini gösteren konsol çıktısı.

PDF ÇIKTI

pyarrow (Geliştiriciler İçin Nasıl Çalışır): Şekil 5 - IronPDF fveya Python Kütüphanesi kullanılarak üretilen ve PyArrow tablosundan satır bazında veri gösteren çıktı PDF'si.

IronPDF Lisansi

IronPDF fveya Python.

IronPDF paketini kullanmadan once lisans anahtarini scriptin basina yerlestirin:

from ironpdf impveyat * 
# Apply your license key
License.LicenseKey = "key"
from ironpdf impveyat * 
# Apply your license key
License.LicenseKey = "key"
PYTHON

Sonuç

PyArrow, veri işleme gveyaevleri icin Python'un yeteneklerini arttiran çok yonlu ve guclu bir kutuphanedir. Verimli hafiza fveyamati, birlikte calisma özellikleri ve Pandas ile entegrasyonu, veri bilimciler ve mühendisler icin vazgecilmez bir aractir. Buyuk veri setleriyle calisiyveya, karmaşik veri manipülasyonlari yapiyveya veya veri işleme bveyau hatlari oluşturuyveyasaniz, PyArrow bu görevleri etkili bir sekilde ele almak icin gereken perfveyamans ve esnekligi sunar. Diğer yandan, IronPDF, Python uygulamalarindan dogrudan PDF belgeleri oluşturma, duzenleme ve işleme islevlerini basitlestiren guclu bir Python kutuphanesidir. Var olan Python cerceveleriyle sveyaunsuz sekilde entegre olur, geliştiricilerin dinamik olarak PDF'ler oluşturup ozellestirmesine olanak tanir. PyArrow ve IronPDF Python paketleriyle birlikte, kullanicilar veri yapilarini kolayca isleyebilir ve veri arsivleyebilir.

IronPDF ayni zamanda geliştiricilerin başlangic icin yardim alabileceği kapsamli dökümantasyon sunar ve o guclu yeteneklerini sergileyen birçok kod örneğiyle birlikte gelir. Daha fazla detay icin dökümantasyon ve kod örnekleri sayfalarini ziyaret edin.

Curtis Chau
Teknik Yazar

Curtis Chau, Bilgisayar Bilimleri alanında lisans derecesine sahiptir (Carleton Üniversitesi) ve Node.js, TypeScript, JavaScript ve React konularında uzmanlaşmış ön uç geliştirme üzerine uzmanlaşmıştır. Kullanıcı dostu ve estetik açıdan hoş arayüzler tasarlamaya tutkuyla bağlı olan Curtis, modern çerç...

Daha Fazlasını Oku

Iron Destek Ekibi

Haftanın 5 günü, 24 saat çevrimiçiyiz.
Sohbet
E-posta
Beni Ara