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
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.
- 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.
- 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.
- Ç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.
- 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 pyarrowpip install pyarrowveya
conda install pyarrow -c conda-fveyageconda install pyarrow -c conda-fveyageTemel 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)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)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
- IronPDF alt teknoloji olarak .NET 6.0'ı kullanır. Öyleyse, sisteminize .NET 6.0 çalışma zamanını kurmanız gerekiyveya.
- Python 3.0+: Python 3 veya daha sonraki bir sürümün kurulu olması gerekir.
- 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 ironpdfpip install pyarrow
pip install ironpdfArdı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")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:
Pandas DataFrame Oluşturma:
- Sayısal ve dize verileri içeren üç sütunlu (
col1,col2,col3) bir Pandas DataFrame (df) oluşturun.
- Sayısal ve dize verileri içeren üç sütunlu (
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.
- Pandas DataFrame'ini (
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.
- IronPDF'in ChromePdfRenderer'ını kullanır ve RenderHtmlAsPdf yöntemini çağırarak bir PDF belgesi (
Ç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 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"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.










