Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Вивчайте Вивчення функцій lambda | Ознайомлення з індексацією та вибором даних
Обробка Даних з Pandas

bookВивчення функцій lambda

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

Note
Визначення

Функція lambda — це невелика анонімна функція, яка визначається за допомогою ключового слова lambda. На відміну від звичайних функцій, що визначаються через def, функція lambda не має імені та призначена для короткої, одноразової логіки.

Синтаксис:

lambda arguments: expression

Функція приймає arguments і повертає результат виразу expression. Кілька простих прикладів:

12345
double = lambda x: x * 2 print(double(5)) # Returns 10 is_even = lambda x: x % 2 == 0 print(is_even(4)) # Returns True
copy

Використання lambda з iloc[]

У pandas iloc[] зазвичай приймає позиції на основі цілих чисел. Однак можна також передати функцію lambda – у цьому випадку x посилається на сам DataFrame, а x.index повертає значення індексу рядків:

data.iloc[lambda x: x.index < 5]

Цей код повертає перші п’ять рядків (індекси від 0 до 4). Ось що робить кожна частина:

  • lambda x: визначає анонімну функцію, де x — це DataFrame;
  • x.index: отримує значення індексу рядків;
  • x.index < 5: умова фільтрації; вибираються лише ті рядки, індекс яких менший за 5.

Результатом є булевий масив, який iloc[] використовує для фільтрації рядків.

Фільтрація за парністю індексу

Поширений випадок використання — розділення набору даних за парними та непарними індексами. Оператор остачі % повертає залишок від ділення:

123456789101112
import pandas as pd # Data import data = pd.read_csv('https://codefinity-content-media.s3.eu-west-1.amazonaws.com/4bf24830-59ba-4418-969b-aaf8117d522e/IMDb_Data_final.csv') # Rows with even indices (0, 2, 4, ...) even = data.iloc[lambda x: x.index % 2 == 0] print(even.head()) # Rows with odd indices (1, 3, 5, ...) odd = data.iloc[lambda x: x.index % 2 != 0] print(odd.head())
copy

x.index % 2 == 0 є True, коли індекс ділиться на 2 без остачі (парний), і False в іншому випадку.

question mark

На що посилається x у наступному коді?

Виберіть правильну відповідь

Все було зрозуміло?

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

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

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

Запитати АІ

expand

Запитати АІ

ChatGPT

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

Секція 1. Розділ 5
some-alt