Как вызывать квартили?

#python #pandas

#python #панды

Вопрос:

У меня проблема, как вызвать квартили. Это CSV-файл: drinksbycountry.csv Я создаю новый столбец, в котором я показываю квантиль значения из столбца: «порции пива».

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

В результате:

Я не хочу иметь интервалы, подобные: (225.0, 376.0]. Я хотел бы показать: «группа 1», «группа 2», Как это сделать?

Ответ №1:

Использовать параметр labels :

метки: массив или логическое значение, по умолчанию Нет
, используемые в качестве меток для результирующих ячеек. Должно быть той же длины, что и результирующие ячейки. Если False, возвращайте только целочисленные показатели ячеек.

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

Также возможно создавать метки в списке — например, в понимании списка с помощью f-string s:

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