← retour aux snippets

pandas: qcut avec labels

Binner en quantiles avec étiquettes lisibles.

python pandas #pandas#qcut#labels

objectif

Binner en quantiles avec étiquettes lisibles.

code minimal

import pandas as pd
s = pd.Series(range(5))
q = pd.qcut(s, q=2, labels=["low","high"])
print(q.astype(str).unique().size == 2)

utilisation

import pandas as pd
s = pd.Series(range(4))
print(pd.qcut(s, q=4, duplicates="drop").cat.categories.size)

variante(s) utile(s)

import pandas as pd
s = pd.Series([1,1,1,2])
print(pd.qcut(s, q=2, duplicates="drop").astype(str).iloc[0] is not None)

notes

  • duplicates=‘drop’ en cas de répétitions qui empêchent q équi-répartis.