PYTHON 幫助

pyarrow(開發人員的運作方式)

發佈 2024年8月13日
分享:

介紹

PyArrow是一個強大的庫,為 Apache Arrow 框架提供 Python 介面。 Apache Arrow 是一個跨語言開發平台,用於記憶體中的資料。 它指定了一種標準化的語言獨立欄式記憶體格式,用於平坦和層次化數據,並針對現代硬體上的高效分析操作進行組織。PyArrow基本上是作為 Python 套件實現的 Apache Arrow Python Bindings。 PyArrow實現不同數據處理系統和編程語言之間的高效數據交換和互操作性。 稍後在本文中,我們還將了解IronPDF開發的 PDF 生成庫Iron Software.

PyArrow的主要特點

  1. 欄格式內存格式

    PyArrow 使用列式記憶體格式,這對於記憶體分析操作是非常高效的。 此格式允許更好的 CPU 快取利用和向量化操作,使其非常適合數據處理任務。 PyArrow 能夠有效地讀寫 Parquet 文件結構,這是由於其列式特性。

  1. 互操作性:PyArrow 的主要優勢之一是其能夠在不同的程式語言和系統之間促進數據交換,而無需進行序列化或反序列化。 這在使用多種語言的環境中特別有用,例如數據科學和機器學習。

  2. 與 Pandas 整合:PyArrow 可以作為 Pandas 的後端,允許高效的數據操作和存儲。 從 Pandas 2.0 開始,可以將數據存儲在 Arrow 陣列中,而不是 NumPy 陣列,這可以帶來性能提升,尤其是在處理字串數據時。

  3. 支援各種資料類型:PyArrow 支援廣泛的資料類型,包括原始類型(整數, 浮點數), 複雜類型(結構, 列表),和巢狀類型。這使它在處理不同類型的數據時非常靈活。

  4. 零複製讀取:PyArrow支持零複製讀取,這意味著可以直接從Arrow記憶體格式讀取資料,而不需要複製。 這樣能減少記憶體負擔並提高性能。

安裝

安裝PyArrow, 您可以使用 либоpipconda:

pip install pyarrow

conda install pyarrow -c conda-forge
PYTHON

基本用法

我們正在使用Visual Studio Code作為程式碼編輯器。 首先,建立一個新的檔案,pyarrowDemo.py。

以下是一個使用 PyArrow 創建表格並執行一些基本操作的簡單示例:

import pyarrow as pa
import 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

程式碼說明

該 Python 程式碼使用 PyArrow 來建立一個表格(`pa.Table`)從三個陣列(pa.array). 然後它輸出表格,顯示名為「col1」、「col2」和「col3」的列,每列包含對應的整數、字串和浮點數資料。

輸出

pyarrow(開發者如何使用):圖1 - 顯示一個 PyArrow 表格對象及其內容的控制台輸出。

與 Pandas 整合

PyArrow 可以無縫集成Pandas以提升性能,尤其是在處理大型數據集時。 以下是一個將 Pandas DataFrame 轉換為 PyArrow Table 的示例:

import pandas as pd
import 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

程式碼說明

該 Python 程式碼將 Pandas 的 DataFrame 轉換為 PyArrow 表格。(`pa.Table`)然後列印該表。 DataFrame 由三個列組成(`col1`,`col2`,`col3`)使用整數、字串和浮點數據。

輸出

pyarrow(開發者如何工作):圖 2 - 控制台輸出顯示由將 panda dataframe 轉換為 PyArrow 表生成的 PyArrow 表對象。

進階功能

1. 檔案格式

PyArrow 支援讀取和寫入多種檔案格式,如 Parquet 和 Feather。 這些格式經過性能優化,廣泛用於資料處理管道中。

2. 記憶體映射

PyArrow 支援記憶體映射文件存取,這使得在不將整個數據集載入記憶體的情況下,可以高效地讀取和寫入大型數據集。

3. 跨程序通信

PyArrow 提供工具進行進程間通信,使不同進程之間的數據共享更加高效。

介紹 IronPDF

pyarrow(開發者如何使用):圖3 - IronPDF for Python:Python PDF 庫

IronPDF是一個適用於 Python 的庫,使得處理 PDF 文件的工作更為簡便,可以通過程式化的方式創建、編輯和操控 PDF 文檔。 它提供的功能包括從 HTML 生成 PDF在現有 PDF 中加入文字、圖像和形狀提取文本和圖片從 PDF 文件中。 以下是一些主要功能

從 HTML 生成 PDF

IronPDF 可以輕鬆地將 HTML 文件、HTML 字串和 URL 轉換成 PDF 文件。 使用 Chrome PDF 渲染器來呈現網頁直接轉換為PDF格式。

跨平台相容性

IronPDF 兼容 Python 3+,可在 Windows、Mac、Linux 和雲端平台上無縫運行。 它也支援.NET, Java, Python,和Node.js. 環境。

編輯和簽署功能

透過設定屬性和添加安全功能來增強 PDF 文件,例如密碼和權限,和應用數位簽名.

自訂頁面模板和設定

使用 IronPDF,您可以使用可自訂的功能來定制 PDF。頁眉,頁腳, 頁碼,和可調整邊距。 它支援響應式佈局,並允許設置自定義紙張尺寸。

標準合規性

IronPDF 遵循 PDF 標準,包括 PDF/A 和 PDF/UA。 支持UTF-8字符編碼並無縫處理如圖片、CSS樣式和字體等資產。

使用 IronPDF 和 PyArrow 生成 PDF 檔案

IronPDF 先決條件

  1. IronPDF使用 .NET 6.0 作為其底層技術。 所以,你有.NET 6.0 執行階段已安裝在您的系統上。

  2. Python 3.0+:您需要安裝 Python 版本 3 或更高版本。

  3. pip:安裝 Python 軟體包管理工具pip用於 IronPDF 套件的安裝。

    安裝必要的庫:

pip install pyarrow 
pip install ironpdf

然後添加以下程式碼來演示 IronPDF 和 pyarrow Python 套件的使用

import pandas as pd
import pyarrow as pa
from ironpdf import * 
# 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)
renderer = ChromePdfRenderer()
# Create a PDF from a HTML string using Python
content = "<h1>Awesome Iron PDF with pyarrow</h1>"
content += "<p>table data</p>"
for row in table:
    # Access specific values in a row
    value_in_column1 = row[0]
    value_in_column2 = row[1]
    value_in_column3 = row[2]
    content += "<p>"+str(value_in_column1)+","+str(value_in_column2)+","+str(value_in_column3)+"</p>"    
pdf = renderer.RenderHtmlAsPdf(content)    
    # Export to a file or Stream
pdf.SaveAs("DemoPyarrow.pdf")
PYTHON

程式碼說明

該腳本演示了如何整合Pandas、PyArrow和IronPDF庫,從存儲在Pandas DataFrame中的數據創建PDF文檔:

  1. Pandas DataFrame 創建:

    • 創建一個 Pandas DataFrame(df)三列(col1, col2, col3)包含數值和字串資料。
  2. 轉換為 PyArrow 表格:

    • 轉換 Pandas DataFrame("df")成為 PyArrow 表格(表格)使用 pa.Table.from_pandas()方法。 此轉換促進了與基於 Arrow 的應用程式進行高效的數據處理和互操作性。
  3. 使用 IronPDF 生成 PDF:

    • 使用 IronPDF 的 ChromePdfRenderer 並調用其 RenderHtmlAsPdf 方法來生成 PDF 文件(DemoPyarrow.pdf)從 HTML 字串(內容),這包括從 PyArrow Table 提取的標頭和數據(表格).

輸出

pyarrow(如何為開發人員工作):圖4 - 控制台輸出顯示通過將panda dataframe轉換為PyArrow表生成的PyArrow表對象。

輸出 PDF

pyarrow(開發人員使用方式):圖 5 - 使用 IronPDF for Python 庫生成的輸出 PDF 並顯示 PyArrow 表中的逐行數據。

IronPDF 授權

IronPDF Python.

在使用 IronPDF 套件之前,將授權密鑰放置在腳本的開頭:

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

結論

PyArrow是一個多功能且強大的庫,增強了 Python 在資料處理任務中的能力。 其高效的記憶體格式、互操作性功能以及與Pandas的整合,使其成為數據科學家和工程師不可或缺的工具。 無論您是在處理大型數據集、執行複雜的數據操作,還是構建數據處理管道,PyArrow 都提供了有效處理這些任務所需的性能和彈性。 另一方面,IronPDF是一個強大的 Python 函式庫,能簡化從 Python 應用程式直接創建、操作和渲染 PDF 文檔的過程。 它無縫整合到現有的 Python 框架中,使開發者能動態生成和自訂 PDF。 與兩者一起PyArrowIronPDFPython 套件,使用者可以輕鬆處理資料結構並存檔資料。

IronPDF還提供全面的文檔來幫助開發人員入門,並附有多個代碼範例展示其強大的功能。 如需詳細資訊,請造訪文檔程式碼範例頁面。

< 上一頁
crc32c Python(開發者如何使用)
下一個 >
加密 Python(它的工作原理對於開發人員)

準備開始了嗎? 版本: 2024.12 剛剛發布

免費 pip 安裝 查看許可證 >