Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Вивчайте Finding the Smallest Values of a Column | Витягування даних
Обробка Даних з Pandas
Секція 3. Розділ 5
single

single

bookFinding the Smallest Values of a Column

Свайпніть щоб показати меню

Вивчення ще однієї важливої функції, яка дозволяє отримати найменші або найбільші значення. Ви вже знаєте, що можна відсортувати значення та потім вибрати певну кількість рядків. Не дивно, що pandas дозволяє зробити це лише одним рядком коду. Розгляньте приклад отримання п'ятнадцяти найстаріших автомобілів:

1234
import pandas as pd data = pd.read_csv('https://codefinity-content-media.s3.eu-west-1.amazonaws.com/4bf24830-59ba-4418-969b-aaf8117d522e/cars.csv', index_col = 0) data_smallest = data.nsmallest(15, 'Year') print(data_smallest.head(15))
copy

Якщо потрібно відсортувати спочатку за одним стовпцем, а потім за іншим, просто вкажіть список з назвами стовпців у потрібному порядку. Розгляньте приклад, де спочатку сортування відбувається за 'Year', а потім за 'Engine_volume'. Цей код спочатку вибере 5 найстаріших автомобілів, а якщо роки збігаються, пріоритет матиме автомобіль з меншим значенням у стовпці 'Engine_volume':

1234
import pandas as pd data = pd.read_csv('https://codefinity-content-media.s3.eu-west-1.amazonaws.com/4bf24830-59ba-4418-969b-aaf8117d522e/cars.csv', index_col = 0) data_smallest = data.nsmallest(5, ['Year', 'Engine_volume']) print(data_smallest.head())
copy

Спробуйте порівняти два приклади нижче. Тепер ми трохи ускладнимо функцію. Повернемося до наших прикладів зі значеннями стовпця 'Year'. У нашому стовпці значення 'Year' можуть повторюватися, тому якщо ми хочемо вивести десять найстаріших автомобілів за попереднім синтаксисом, наша функція візьме лише десять значень. Вона не враховує, чи 11-те або 12-те значення таке саме, як і 10-те. Щоб уникнути таких випадків, ми можемо додати аргумент keep = 'all' до методу .nsmallest(). Подивіться на приклад і спробуйте виконати його, щоб побачити різницю:

1234567891011
import pandas as pd data = pd.read_csv('https://codefinity-content-media.s3.eu-west-1.amazonaws.com/4bf24830-59ba-4418-969b-aaf8117d522e/cars.csv', index_col = 0) # Case without using `keep = 'all'` argument data_smallest = data.nsmallest(6, 'Year') print(data_smallest) data = pd.read_csv('https://codefinity-content-media.s3.eu-west-1.amazonaws.com/4bf24830-59ba-4418-969b-aaf8117d522e/cars.csv', index_col = 0) # Case with using `keep = 'all'` argument data_smallest = data.nsmallest(6, 'Year', keep = 'all') print(data_smallest)
copy
Завдання

Проведіть, щоб почати кодувати

Тут слід дотримуватися такого алгоритму:

  1. Отримати дані про автомобілі, у яких значення стовпця 'Year' більше за 2010.
  2. Витягти найдешевші 15 автомобілів (тобто 15 найменших значень стовпця 'Price'). Врахувати всі дублікати значень у стовпці 'Price'.
  3. Вивести всі значення набору даних data_cheapest.

Рішення

Switch to desktopПерейдіть на комп'ютер для реальної практикиПродовжуйте з того місця, де ви зупинились, використовуючи один з наведених нижче варіантів
Все було зрозуміло?

Як ми можемо покращити це?

Дякуємо за ваш відгук!

Секція 3. Розділ 5
single

single

Запитати АІ

expand

Запитати АІ

ChatGPT

Запитайте про що завгодно або спробуйте одне із запропонованих запитань, щоб почати наш чат

some-alt