Menu
CoddyTech

Сортировка значений

Часть раздела Данные и графики путешествия по Machine Learning на Coddy. Урок 39 из 60.

Кто набрал больше всего очков? Сортировка сразу даёт ответ. .sort_values("col") упорядочивает строки по столбцу, начиная с наименьшего значения; ascending=False ставит наибольшее значение первым:

Таблица игроков в исходном порядке слева, а после стрелки — отсортированная по очкам от 31 до 8 справа; в каждой строке сохраняется её метка, а первые два игрока, Ben и Dee, отмечены как head(2)

players = pd.DataFrame({
    "player": ["Ada", "Ben", "Cy", "Dee", "Eli"],
    "points": [14, 31, 8, 22, 17],
})
top = players.sort_values("points", ascending=False)
print(top.head(2))

Это выводит первые 2:

  player  points
1    Ben      31
3    Dee      22

Строки сохранили свои метки: у Ben метка 1. Поэтому первая строка top — это top.iloc[0], а top.loc[0] по-прежнему соответствует Ada.

sort_values возвращает новую таблицу и оставляет players без изменений, поэтому сохрани результат в переменной.

challenge icon

Задание

Средне

В магазине приложений перечислены приложения в файле apps.csv со столбцами app, downloads_k (тысячи) и rating. Программа считывает имя столбца и число n, а затем должна вывести:

  1. n строк с наибольшими значениями в этом столбце, начиная с наибольшего.
  2. Lowest: и приложение с наименьшим значением.

В начальном коде допущены две ошибки сортировки. Исправь обе. Для другого магазина, если rating и n = 2:

       app  downloads_k  rating
2   PetPal           88     4.9
0  Zipline          512     4.5
Lowest: Mosaic

Попробуйте сами

import pandas as pd

apps = pd.read_csv("apps.csv")
column = input()
n = int(input())

# Этот код выводит неверные ответы: исправьте его
apps.sort_values(column, ascending=False)
print(apps.head(n))
lowest = apps.sort_values(column, ascending=False)
print(f"Lowest: {lowest.iloc[0]['app']}")
quiz iconПроверьте себя

В этом уроке есть небольшой тест. Начните урок, чтобы ответить на вопросы и сохранить прогресс.

Все уроки раздела Данные и графики

Потренируйтесь самостоятельно: Онлайн-компилятор Python