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

Python

Фільтрування рядків у Pandas DataFrames

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

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

Команда опис
pd.DataFrame(data) Створює DataFrame зі словника даних.
df[column_name] Отримує доступ до стовпця в DataFrame за назвою.
df[condition] Фільтрує DataFrame на основі умови, застосованої до стовпця.
print(selected_rows) Друкує DataFrame або його підмножину на консоль.
df[df['Age'] >df[df['Age'] > 25] Вибирає рядки, де значення стовпця «Вік» перевищують 25.
df[df['City'] == 'Chicago'] Вибирає рядки, де значення стовпця "Місто" дорівнюють "Чикаго".

Розуміння вибору рядка DataFrame у Pandas

Надані сценарії демонструють, як вибрати рядки з DataFrame на основі значень стовпців за допомогою бібліотеки Pandas у Python. Перший сценарій починається з імпорту бібліотеки Pandas за допомогою команда. Потім він створює зразок DataFrame за допомогою словника даних, який перетворюється на DataFrame за допомогою команда. Потім сценарій ілюструє два методи вибору рядків: вибір рядків, де значення стовпця «Вік» перевищує 25, використовуючи , і вибираючи рядки, де значенням стовпця "Місто" є "Чикаго", використовуючи df[df['City'] == 'Chicago']. Ці відфільтровані кадри даних друкуються за допомогою для відображення вибраних рядків.

Другий сценарій має подібну структуру, але використовує інші дані та критерії вибору. Він створює DataFrame з інформацією про продукт, включаючи стовпці «Продукт», «Ціна» та «Акції». Вибираються рядки, у яких "Ціна" менше або дорівнює 200 с

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

Окрім базової фільтрації за допомогою логічного індексування, Pandas пропонує розширені методи вибору рядків на основі значень стовпців. Одним з потужних методів є використання функція, яка дозволяє фільтрувати рядки за допомогою виразу запиту, роблячи синтаксис чистішим і часто більш інтуїтивно зрозумілим. Наприклад, замість використання , можете писати . Цей метод особливо корисний при роботі зі складнішими умовами або коли імена стовпців містять пробіли. Крім того, isin() Ця функція корисна, якщо потрібно відфільтрувати рядки на основі списку значень. Наприклад, щоб вибрати рядки, у яких у стовпці «Місто» є значення «Чикаго» або «Нью-Йорк», можна використати .

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

  1. Як я можу вибрати рядки на основі кількох умов?
  2. Ви можете використовувати функціонувати або поєднувати умови з логічними операторами, наприклад і . Наприклад, df[(df['Age'] > 25) & (df['City'] == 'Chicago')].
  3. Чи можна фільтрувати рядки на основі списку значень?
  4. Так, використовуйте функція. Наприклад, .
  5. Яка різниця між і ?
  6. базується на мітках, тоді як базується на цілочисельному розташуванні. використання з мітками рядків/стовпців і iloc з індексами рядка/стовпця.
  7. Як я можу вибрати певні стовпці під час фільтрації рядків?
  8. Ви можете використовувати . Наприклад, .
  9. Як обробляти відсутні значення під час вибору рядків?
  10. Використовувати функцію для видалення рядків із пропущеними значеннями або щоб замінити їх на вказане значення.
  11. Чи можна використовувати регулярні вирази для фільтрації рядків?
  12. Так, функція з Параметр дозволяє фільтрувати рядки на основі шаблонів регулярних виразів. Наприклад, .
  13. Як фільтрувати рядки на основі індексу?
  14. Ви можете використовувати з назвою індексу. Наприклад, .
  15. Що робити, якщо назви моїх стовпців містять пробіли або спеціальні символи?
  16. Використовувати функція, яка може обробляти такі імена стовпців із зворотними галочками. Наприклад, .

Останні думки про методи вибору рядків DataFrame

Вибір рядків із DataFrame на основі значень стовпців у Pandas є надзвичайно важливою навичкою для маніпулювання даними. Різні обговорювані методи, включаючи булеву індексацію, , , а також індексування на основі міток і цілого розташування за допомогою і iloc, надають потужні інструменти для ефективного фільтрування даних. Володіння цими техніками забезпечує кращий аналіз даних і чистіший і зручніший код.