Vue d'ensemble

PyArrow 12.0, publié le 3 mai 2023, intègre le moteur Acero pour l'exécution de requêtes et améliore les fonctionnalités CSV.

Fonctionnalités principales

Moteur Acero

Le moteur d'exécution Acero permet d'exécuter des plans de requêtes sur des données Arrow avec des opérations de filtrage, jointure et agrégation optimisées.

python
import pyarrow as pa
import pyarrow.compute as pc

# Création d'une table Arrow
table = pa.table({
    'nom': ['Alice', 'Bob', 'Charlie', 'Diana'],
    'score': [85, 92, 78, 95],
    'groupe': ['A', 'B', 'A', 'B'],
})

# Filtrage et agrégation via Acero
filtre = pc.greater(table['score'], 80)
resultat = table.filter(filtre)
print(resultat.to_pandas())

Fonctionnalités CSV améliorées

Le lecteur CSV supporte désormais la lecture incrémentale, la détection automatique des types et de nouvelles options d'encodage.

python
import pyarrow.csv as pv

# Lecture CSV avec détection de types
table = pv.read_csv(
    'donnees.csv',
    convert_options=pv.ConvertOptions(
        auto_dict_encode=True,
        timestamp_parsers=['%Y-%m-%d', '%d/%m/%Y'],
    ),
)
print(table.schema)

Sources