Пошук найменших значень стовпця
Ви ознайомитеся з ще однією важливою функцією, яка дозволяє отримати найменші або найбільші значення. Ви вже знаєте, що можна відсортувати значення та вибрати певну кількість рядків. Не дивно, що 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)
Swipe to start coding
Тут слід дотримуватися такого алгоритму:
- Отримати дані про автомобілі, у яких значення стовпця
'Year'
більше за2010
. - Витягти найдешевші
15
автомобілів (тобто15
найменших значень стовпця'Price'
). Враховувати всі дублікати значень у стовпці'Price'
. - Вивести всі значення набору даних
data_cheapest
.
Рішення
Дякуємо за ваш відгук!
single
Запитати АІ
Запитати АІ
Запитайте про що завгодно або спробуйте одне із запропонованих запитань, щоб почати наш чат
Can you explain what the `keep='all'` argument does in more detail?
How does `.nsmallest()` differ from sorting and slicing the DataFrame?
Can I use `.nlargest()` in a similar way to get the newest cars?
Awesome!
Completion rate improved to 3.03
Пошук найменших значень стовпця
Свайпніть щоб показати меню
Ви ознайомитеся з ще однією важливою функцією, яка дозволяє отримати найменші або найбільші значення. Ви вже знаєте, що можна відсортувати значення та вибрати певну кількість рядків. Не дивно, що 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)
Swipe to start coding
Тут слід дотримуватися такого алгоритму:
- Отримати дані про автомобілі, у яких значення стовпця
'Year'
більше за2010
. - Витягти найдешевші
15
автомобілів (тобто15
найменших значень стовпця'Price'
). Враховувати всі дублікати значень у стовпці'Price'
. - Вивести всі значення набору даних
data_cheapest
.
Рішення
Дякуємо за ваш відгук!
single