1. Основы фильтрации данных в DataFrame
Зачем нужна фильтрация?
Как и фильтры в вашем любимом приложении для селфи, фильтрация в pandas помогает нам сосредоточиться на самом важном. Мы можем исключить ненужные данные и оставить только то, что действительно имеет значение. Это основополагающий инструмент для анализа данных, особенно когда нам нужно подготовить отчеты или разобраться в больших наборах данных.
Наша первая фильтрация
Давайте начнем с простого примера. У нас есть DataFrame с информацией о продажах товаров:
import pandas as pd
data = {
"Товар": ["Апельсины", "Бананы", "Яблоки", "Апельсины", "Яблоки"],
"Количество": [10, 5, 8, 7, 6],
"Цена": [3.5, 2.0, 4.0, 3.0, 4.5]
}
df = pd.DataFrame(data)
# Фильтрация товаров по имени
filtered_df = df[df["Товар"] == "Апельсины"]
print(filtered_df)
Использование условий
Мы можем комбинировать условия, как в мультифильтре! Например, найдем все товары, которых продано больше 6 штук по цене не более 3.5 единиц:
# Комбинируем условия с помощью & (логическое "и")
filtered_df = df[(df["Количество"] > 6) & (df["Цена"] <= 3.5)]
print(filtered_df)
Запоминаем важные моменты
Не забудьте, что в pandas мы используем квадратные скобки для создания фильтров и круглые для условий. Вы же не хотите стать "тем человеком", который забудет эти скобочки?
2. Сортировка данных
Почему сортировка важна?
Сортировка данных позволяет нам увидеть структуру и порядок в хаосе (если бы у датасетов бывает хаос, конечно). Например, представьте, что вы находитесь в библиотеке, где книги хаотично разбросаны — кошмар! Сортировка помогает упорядочить информацию, будь то для анализа, отчетов или просто для поиска нужного значения.
Сортировка по одному столбцу
Давайте расставим наш DataFrame в порядке возрастания цены товаров:
# Сортировка по возрастанию цены
sorted_df = df.sort_values(by="Цена")
print(sorted_df)
Сортировка по нескольким столбцам
Представьте, что вам нужно отсортировать данные сначала по количеству, а если количество одинаковое, по цене и в порядке убывания. Вот как это делается:
# Сортировка по количеству и цене
sorted_df = df.sort_values(by=["Количество", "Цена"], ascending=[True, False])
print(sorted_df)
Особенности сортировки
Следите за параметром ascending. Он позволяет задавать, в каком порядке (возрастающем или убывающем) вы хотите отсортировать данные. Это удобно, если вы намерены "зловеще" повелевать своими данными.
3. Применение на практике
Практическое задание
Теперь пора применить наши знания на практике! Допустим, вы аналитик в компании, продающей гаджеты. Ваша задача — найти все модели телефонов, которые продались в количестве более 100 единиц и отсортировать их по убывающей прибыли.
# Данные о продажах телефонов
data = {
"Модель": ["Phone X", "Phone Y", "Phone Z", "Phone X", "Phone Y"],
"Продано": [120, 150, 90, 130, 80],
"Прибыль": [200, 180, 220, 210, 190]
}
df = pd.DataFrame(data)
# Фильтрация моделей с продажами более 100
filtered_df = df[df["Продано"] > 100]
# Сортировка по убыванию прибыли
sorted_df = filtered_df.sort_values(by="Прибыль", ascending=False)
print(sorted_df)
Анализ и обсуждение
Используйте комбинацию фильтраций и сортировок для получения данных, которые действительно интересны и важны для вас или вашего отчета. Как и любой другой инструмент, фильтрация и сортировка становятся более мощными с практикой. И не забывайте, отлично отформатированные данные — это не только благословение аналитика, но и его самая большая гордость.
Типичные ошибки
Некоторые новички иногда забывают использовать круглые скобки в условиях фильтрации, что приводит к ошибкам. Это как забудить поставить крышку на кастрюлю — все может выйти из-под контроля. Еще одна частая ошибка — неправильно указанный порядок сортировки по нескольким полям. Будьте уверены, что используете ascending верно, чтобы не перевернуть все с ног на голову.
Практическое применение
На практике фильтрация и сортировка — незаменимые инструменты для любого аналитика данных. Они помогают оперативно получать нужные данные из сложных наборов и подготавливать их для отчетов. В реальном мире их используют везде: от финтеха до исследований в медицине. Например, банки могут фильтровать транзакции, чтобы выявлять подозрительную активность, а исследователи сортируют данные об испытаниях лекарств, чтобы обнаружить скрытые зависимости. Не говоря уже о том, что знание этих инструментов может быть полезным союзником на собеседованиях.
4. Внешние ресурсы для изучения
Для тех, кто хочет изучить тему глубже, рекомендую ознакомиться с официальной документацией pandas, которая является отличным источником для понимания всех возможностей этой библиотеки. Там вы найдете множество примеров и пояснений, которые помогут вам освоить этот инструмент на профессиональном уровне.
ПЕРЕЙДИТЕ В ПОЛНУЮ ВЕРСИЮ