Вибір рядків DataFrame на основі значень стовпців у Python

Python

Використання Pandas для фільтрації DataFrames за значеннями стовпців

Під час роботи з даними в Python бібліотека Pandas пропонує потужні інструменти для обробки та аналізу даних. Одним із поширених завдань є вибір рядків із DataFrame на основі значень у певному стовпці. Ця операція схожа на SQL-запит: SELECT * FROM table WHERE column_name = some_value.

У цій статті ми розглянемо, як досягти цього в Pandas за допомогою різних методів. Незалежно від того, чи виконуєте ви фільтрацію за одним значенням чи кількома критеріями, Pandas надає інтуїтивно зрозумілі та ефективні способи обробки таких операцій. Давайте зануримося в деталі.

Команда опис
pd.DataFrame() Створює об’єкт DataFrame зі словника чи інших структур даних.
df[condition] Фільтрує рядки DataFrame на основі умови, повертаючи лише ті, які відповідають критеріям.
print() Виводить вказане повідомлення або DataFrame на консоль.
df['column'] == value Створює логічний ряд, який використовується для фільтрації рядків, у яких стовпець відповідає вказаному значенню.
df['column'] >df['column'] > value Створює логічний ряд, який використовується для фільтрації рядків, у яких значення стовпця перевищують вказане значення.
# Comment Використовується для додавання пояснень або приміток у код, які не виконуються як частина сценарію.

Реалізація вибору рядка DataFrame в Pandas

У наданих сценаріях ключовим завданням є фільтрація рядків із DataFrame на основі значень певних стовпців, що є загальною вимогою в аналізі даних. Перший сценарій починається з імпорту бібліотеки Pandas за допомогою . Це важливо, оскільки Pandas є потужною бібліотекою для обробки даних у Python. Далі ми створюємо зразок DataFrame за допомогою зі словником, що містить дані про імена, вік і міста. Ця структура дозволяє нам легко візуалізувати та маніпулювати табличними даними. Вирішальною частиною сценарію є те, де ми фільтруємо рядки за допомогою . Ця команда вибирає всі рядки, де значенням стовпця міста є «Нью-Йорк». Результат зберігається в змінній ny_rows, який потім друкується для відображення відфільтрованого DataFrame.

Другий сценарій має подібну структуру, але фокусується на фільтрації рядків на основі числової умови. Після імпорту Pandas і створення DataFrame зі стовпцями продукту, ціни та кількості сценарій використовує щоб відфільтрувати рядки, ціна яких перевищує 150. Ця команда створює підмножину вихідного DataFrame, що містить лише рядки, які відповідають вказаній умові. Результат зберігається в і роздруковано для перевірки. Обидва сценарії демонструють потужність і простоту Pandas для обробки даних. Використовуючи логічне індексування, метод, за допомогою якого ми передаємо ряд значень true/false для фільтрації даних, ми можемо ефективно вибирати підмножини даних на основі різних умов, що робить його безцінним інструментом для аналітиків даних і науковців.

Фільтрування рядків у DataFrame на основі значень стовпців

Python - використання Pandas для операцій DataFrame

import pandas as pd
# Create a sample DataFrame
data = {
    'name': ['Alice', 'Bob', 'Charlie', 'David', 'Edward'],
    'age': [24, 27, 22, 32, 29],
    'city': ['New York', 'Los Angeles', 'New York', 'Chicago', 'Los Angeles']
}
df = pd.DataFrame(data)

# Select rows where city is New York
ny_rows = df[df['city'] == 'New York']
print(ny_rows)

# Output:
#       name  age      city
# 0    Alice   24  New York
# 2  Charlie   22  New York

Запит рядків DataFrame на основі значень стовпців

Python – розширена фільтрація з Pandas

import pandas as pd

# Create a sample DataFrame
data = {
    'product': ['A', 'B', 'C', 'D'],
    'price': [100, 150, 200, 250],
    'quantity': [30, 50, 20, 40]
}
df = pd.DataFrame(data)

# Select rows where price is greater than 150
expensive_products = df[df['price'] > 150]
print(expensive_products)

# Output:
#   product  price  quantity
# 2       C    200        20
# 3       D    250        40

Розширені методи вибору рядків DataFrame

Окрім базової фільтрації з логічним індексуванням, Pandas пропонує більш просунуті методи вибору рядків на основі значень стовпців. Одним із таких методів є функція, яка дозволяє використовувати SQL-подібний синтаксис для фільтрації рядків DataFrame. Наприклад, можна використовувати щоб вибрати рядки, де вік старше 25 і місто Нью-Йорк. Цей метод може зробити ваш код більш читабельним, особливо для складних умов. Крім того, Pandas надає і iloc[] засоби доступу для більш точного вибору рядків. The засіб доступу базується на мітках, тобто ви можете фільтрувати рядки за їхніми мітками або логічним масивом. На противагу цьому засіб доступу базується на цілочисельній позиції, що дозволяє фільтрувати рядки за їх позиціями індексів.

Ще одна потужна функція Pandas — це можливість фільтрувати рядки DataFrame за допомогою метод. Цей метод корисний, коли потрібно відфільтрувати рядки на основі списку значень. Наприклад, вибирає рядки, де значенням стовпця міста є Нью-Йорк або Лос-Анджелес. Крім того, ви можете об’єднати кілька умов за допомогою і | оператори для створення більш складних фільтрів. Наприклад, фільтрує рядки, у яких вік понад 25 років і місто Нью-Йорк. Ці вдосконалені методи забезпечують надійну структуру для фільтрації даних, що робить Pandas універсальним інструментом для аналізу та маніпулювання даними.

  1. Як фільтрувати рядки в DataFrame на основі значень кількох стовпців?
  2. Ви можете використовувати логічне індексування з кількома умовами, поєднаними за допомогою і . Наприклад: .
  3. Яка різниця між і ?
  4. базується на мітках, тоді як базується на цілочисельній позиції. використання для фільтрації за мітками та iloc[] для фільтрації за позиціями індексу.
  5. Як я можу використовувати функцію для фільтрації рядків DataFrame?
  6. The дозволяє використовувати SQL-подібний синтаксис. Наприклад: .
  7. Чи можна фільтрувати рядки на основі списку значень?
  8. Так, ви можете використовувати метод. Наприклад: .
  9. Який найкращий спосіб фільтрації рядків на основі відповідності рядків?
  10. Ви можете використовувати метод. Наприклад: .
  11. Як вибрати рядки, у яких відсутні значення стовпців?
  12. Ви можете використовувати метод. Наприклад: .
  13. Як я можу фільтрувати рядки за допомогою спеціальної функції?
  14. Ви можете використовувати метод з лямбда-функцією. Наприклад: .
  15. Чи можу я фільтрувати рядки на основі значень індексів?
  16. Так, ви можете використовувати метод. Наприклад: .

Вибір рядків із DataFrame на основі значень стовпців є фундаментальним навиком аналізу даних за допомогою Pandas. Використовуючи логічне індексування, , , , і isin() дозволяє ефективно фільтрувати дані. Оволодіння цими техніками покращує вашу здатність ефективно маніпулювати наборами даних і аналізувати їх.