← retour aux snippets

pandas: assign, transform, pipe

Chaîner des transformations avec assign/transform/pipe.

python pandas #pandas#assign#pipe

objectif

Chaîner des transformations avec assign/transform/pipe.

code minimal

import pandas as pd

df = pd.DataFrame({"x":[1,2,3], "y":[10,20,30]})
res = (df.assign(z=lambda d: d.y/d.x).pipe(lambda d: d[d.z>5]))
print(res.to_dict(orient="list"))

utilisation

import pandas as pd

df = pd.DataFrame({"g":["a","a","b"], "x":[1,2,3]})
print(df.groupby("g")["x"].transform("mean").tolist())

variante(s) utile(s)

import pandas as pd

df = pd.DataFrame({"x":[1,2,3]})
print(df.pipe(lambda d: d.rename(columns=str.upper)).columns.tolist())

notes

  • transform conserve l’alignement des index.