Vue d'ensemble

Pandas 1.3, publie le 3 juillet 2021, introduit le support des chaines PyArrow et ameliore le chainage de methodes pour un code plus fluide.

Fonctionnalites principales

Chaines PyArrow

Le nouveau backend ArrowDtype pour les colonnes texte permet d'utiliser les chaines Apache Arrow, offrant une consommation memoire reduite et des operations sur chaines plus rapides.

python
import pandas as pd

# Utilisation du backend PyArrow pour les chaines
df = pd.DataFrame({
    'nom': pd.array(['Alice', 'Bob', 'Charlie'], dtype='string[pyarrow]'),
    'ville': pd.array(['Paris', 'Lyon', 'Marseille'], dtype='string[pyarrow]'),
})
print(df.dtypes)
# nom      string[pyarrow]
# ville    string[pyarrow]

# Operations sur chaines optimisees
print(df['nom'].str.upper())

Chainage de methodes

Pandas 1.3 ameliore le chainage avec DataFrame.pipe() et de nouveaux parametres inplace=False par defaut sur davantage de methodes, facilitant les transformations enchainables.

python
import pandas as pd

df = pd.DataFrame({
    'produit': ['A', 'B', 'C', 'A', 'B'],
    'ventes': [100, 200, 150, 300, 250],
})

# Chainage fluide de transformations
resultat = (
    df
    .query('ventes > 100')
    .groupby('produit')['ventes']
    .sum()
    .reset_index()
    .rename(columns={'ventes': 'total'})
)
print(resultat)

Sources