← retour aux snippets

pandas: pipe et method chaining

Chaîner des transformations lisibles.

python pandas #pandas#pipe#functional

objectif

Chaîner des transformations lisibles.

code minimal

import pandas as pd
def plus_un(df): return df.assign(y=df["x"]+1)
df = pd.DataFrame({"x":[1,2]}).pipe(plus_un)
print(df["y"].tolist())

utilisation

import pandas as pd
df = pd.DataFrame({"a":[1,2]})
print(df.pipe(lambda d: d["a"].sum()))

variante(s) utile(s)

import pandas as pd
df = pd.DataFrame({"x":[1,2,3]})
print(df.query("x>1").assign(z=lambda d:d["x"]*2).shape[0])

notes

  • Favorise lisibilité; éviter lambdas complexes.