PYTHON 幫助

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

發佈 2024年8月13日
分享:

簡介

PyArrow 是一個強大的庫,為 Apache Arrow 框架提供 Python 接口。Apache Arrow 是一個跨語言的內存數據開發平台。它規範了一種標準化的、獨立於語言的內存柱狀格式,用於存儲平面和分層數據,組織起來以便在現代硬體上進行高效的分析操作。PyArrow 基本上是作為 Python 套件實現的 Apache Arrow Python 綁定。 PyArrow 使不同數據處理系統和編程語言之間的高效數據交換和互操作性成為可能。在本文的後面部分,我們還將了解 IronPDF開發的 PDF 生成庫 IronSoftware.

PyArrow 的主要特性

  1. 欄式記憶體格式

    PyArrow 使用欄式記憶體格式,這在記憶體分析操作中非常高效。這種格式允許更好的 CPU 快取利用和向量化操作,使其成為資料處理任務的理想選擇。由於其欄式特性,PyArrow 可以高效地讀寫 parquet 文件結構。

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

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

  4. 支持多種資料類型:PyArrow 支持多種資料類型,包括原始類型 (整數, 浮點數), 複雜類型 (結構, 列表), 和嵌套類型。這使得它能夠靈活處理不同種類的数据。

  5. 零拷貝讀取: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,您可以通過可自訂的 頁眉,頁腳, 頁碼,並可調整頁邊距。它支持響應式佈局,並允許設置自訂紙張尺寸。

標準合規性

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+: 您需要安裝版本3或更高版本的Python。

  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。配合一起 PyArrowIronPDF Python 套件,使用者可以輕鬆地處理資料結構並歸檔資料。

IronPDF 還提供了全面的文件來幫助開發者入門,並附有許多展示其強大功能的代碼範例。欲了解更多詳情,請訪問 文檔程式碼範例 頁面。

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

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

免費 pip 安裝 查看許可證 >