Ответ
Pandas — это высокоуровневая библиотека Python для анализа и обработки структурированных (табличных) данных. Её основная сила — в работе с помеченными данными, подобно таблицам в SQL или Excel, но с мощью программирования.
Ключевые структуры данных:
Series: Одномерный помеченный массив. Похож на столбец таблицы или словарь.DataFrame: Двумерная, гетерогенная таблица с помеченными строками и столбцами. Это основная рабочая лошадка.
Основные возможности, которые я постоянно использую:
- Чтение и запись данных из множества источников:
df = pd.read_csv('data.csv') df.to_excel('output.xlsx', sheet_name='Results') - Инспекция и очистка данных:
df.info() # Типы данных и пропуски df.describe() # Статистика df.isnull().sum() # Количество пропусков df.dropna() # Удаление строк с NaN df.fillna(0) # Заполнение пропусков -
Выборка и фильтрация:
# Выбор столбцов df[['name', 'age']] # Фильтрация по условию (синтаксис, похожий на SQL WHERE) adults = df[df['age'] >= 18] # Сложные условия filtered = df[(df['department'] == 'IT') & (df['salary'] > 100000)] -
Группировка и агрегация (аналог
GROUP BYв SQL):# Средняя зарплата по отделам df.groupby('department')['salary'].mean() # Несколько агрегаций df.groupby('department').agg({'salary': ['mean', 'min', 'max'], 'age': 'median'}) - Работа с временными рядами (мощная встроенная поддержка дат и времени).
Сильные стороны: Невероятно выразительный и продуктивный синтаксис для операций с данными, отличная интеграция с экосистемой Python (NumPy, Matplotlib, Scikit-learn). Ограничения: Для очень больших данных (не помещающихся в оперативную память) лучше смотреть в сторону Dask или Vaex. Нативные операции Pandas не всегда эффективно параллелизуются.