← retour aux snippets

pandas: query/eval

Filtrer et calculer via expressions `query` et `eval`.

python pandas #pandas#query#eval

objectif

Filtrer et calculer via expressions query et eval.

code minimal

import pandas as pd
df = pd.DataFrame({"a":[1,2,3], "b":[3,2,1]})
print(df.query("a < b")["a"].tolist())

utilisation

import pandas as pd
df = pd.DataFrame({"x":[1,2,3]})
print(pd.eval("x + 1", target=df).tolist())

variante(s) utile(s)

import pandas as pd
df = pd.DataFrame({"x":[1,2,3], "y":[10,20,30]})
print(df.eval("z = x + y").assign(z=lambda d: d["z"]).shape[1])

notes

  • engine='numexpr' possible si installé pour accélérer.