如何为熊猫qcut标签定义功能?

时间:2019-04-16 03:38:33

标签: python pandas

我正在使用pandas.qcut将数据分为5组,并希望根据qcut的最小和最大分数来标记每个组。

例如,我尝试了数据框列中的“年龄”数据。

df['age group'] = pd.qcut(df['age'], 5)

它导致了

Categories (5, interval[float64]): [(37.999, 61.0] < (61.0, 67.0] < (67.0, 73.0] < (73.0, 78.0] < (78.0, 93.0]]

预期结果是根据最小和最大值自动给每个组加上标签,例如 类别1标签为“ 37.999至60.999”,等等。

现在,我手动查看每个类别范围进行标记。我应该如何定义标签以使其达到预期效果?谢谢!

1 个答案:

答案 0 :(得分:2)

您可以重新定义类别:

df['age group'] = pd.qcut(df['age'], 5)
df['age group'].cat.categories = [f'{i.left} to {i.right}' for i in df['age group'].cat.categories]