← retour aux snippets

pandas: filter, query et loc

Filtrer des lignes via expressions et indexation loc.

python pandas #pandas#filter#query

objectif

Filtrer des lignes via expressions et indexation loc.

code minimal

import pandas as pd

df = pd.DataFrame({"a":[1,2,3], "b":["x","y","z"]})
print(df.query("a >= 2"))

utilisation

import pandas as pd

df = pd.DataFrame({"a":[1,2,3], "b":["x","y","z"]})
subset = df.loc[df["a"].between(1,2), ["b"]]
print(subset.reset_index(drop=True).to_dict(orient="list"))

variante(s) utile(s)

import pandas as pd

df = pd.DataFrame({"a":[1,2,3], "b":["x","y","z"]})
print(df.query("b in ['x','z']").shape)

notes

  • query est lisible pour des filtres complexes.