首页 > 解决方案 > 如何调用四分位数?

问题描述

我有问题如何调用四分位数。这是 csv 文件:drinksbycountry.csv 我创建了一个新列,在其中显示来自列的值的分位数:“啤酒份量”。

df['nowa'] = pd.qcut(df['beer_servings'],6)
df.loc[1:5,['country', 'continent0','nowa' ]]

作为结果:

我不想有这样的间隔:(225.0, 376.0]。我想显示:'group 1', 'group 2' 怎么做?

标签: pythonpandas

解决方案


使用参数labels

标签:数组或布尔值,默认无
用作结果箱的标签。必须与生成的 bin 长度相同。如果为 False,则仅返回 bin 的整数指示符。

df['nowa'] = 'group ' + pd.qcut(df['beer_servings'],6, labels=False).astype(str)

也可以在列表中创建标签 - 例如在带有f-strings 的列表理解中:

labels = [f'group {x}' for x in range(6)]
df['nowa'] =  pd.qcut(df['beer_servings'],6, labels=labels)

推荐阅读