single
Finding the Smallest Values of a Column
Свайпніть щоб показати меню
Вивчення ще однієї важливої функції, яка дозволяє отримати найменші або найбільші значення. Ви вже знаєте, що можна відсортувати значення та потім вибрати певну кількість рядків. Не дивно, що pandas дозволяє зробити це лише одним рядком коду. Розгляньте приклад отримання п'ятнадцяти найстаріших автомобілів:
1234import 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))
Якщо потрібно відсортувати спочатку за одним стовпцем, а потім за іншим, просто вкажіть список з назвами стовпців у потрібному порядку. Розгляньте приклад, де спочатку сортування відбувається за 'Year', а потім за 'Engine_volume'. Цей код спочатку вибере 5 найстаріших автомобілів, а якщо роки збігаються, пріоритет матиме автомобіль з меншим значенням у стовпці 'Engine_volume':
1234import 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())
Спробуйте порівняти два приклади нижче. Тепер ми трохи ускладнимо функцію. Повернемося до наших прикладів зі значеннями стовпця 'Year'. У нашому стовпці значення 'Year' можуть повторюватися, тому якщо ми хочемо вивести десять найстаріших автомобілів за попереднім синтаксисом, наша функція візьме лише десять значень. Вона не враховує, чи 11-те або 12-те значення таке саме, як і 10-те. Щоб уникнути таких випадків, ми можемо додати аргумент keep = 'all' до методу .nsmallest(). Подивіться на приклад і спробуйте виконати його, щоб побачити різницю:
1234567891011import 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)
Проведіть, щоб почати кодувати
Тут слід дотримуватися такого алгоритму:
- Отримати дані про автомобілі, у яких значення стовпця
'Year'більше за2010. - Витягти найдешевші
15автомобілів (тобто15найменших значень стовпця'Price'). Врахувати всі дублікати значень у стовпці'Price'. - Вивести всі значення набору даних
data_cheapest.
Рішення
Дякуємо за ваш відгук!
single
Запитати АІ
Запитати АІ
Запитайте про що завгодно або спробуйте одне із запропонованих запитань, щоб почати наш чат