Популярные библиотеки для Python: NumPy и Pandas

Пройдите тест, узнайте какой профессии подходите

Я предпочитаю
0%
Работать самостоятельно и не зависеть от других
Работать в команде и рассчитывать на помощь коллег
Организовывать и контролировать процесс работы

Введение в популярные библиотеки для Python

Python стал одним из самых популярных языков программирования благодаря своей простоте и мощным библиотекам. Среди них особое место занимают NumPy и Pandas, которые широко используются для научных вычислений и анализа данных. Эти библиотеки предоставляют удобные и эффективные инструменты для работы с массивами, матрицами и таблицами данных, что делает их незаменимыми для многих задач в области науки о данных, машинного обучения и статистики.

NumPy (Numerical Python) является основой для многих других библиотек, таких как SciPy и Pandas, и предоставляет высокоуровневые математические функции для работы с массивами и матрицами. Pandas, в свою очередь, предлагает высокоуровневые структуры данных и инструменты для анализа данных, такие как Series и DataFrame, которые позволяют легко манипулировать и анализировать данные.

В этой статье мы рассмотрим основные возможности этих библиотек, начиная с установки и создания базовых структур данных, и заканчивая более сложными операциями, такими как индексирование, срезы, фильтрация и агрегация данных. Мы также приведем примеры их использования, которые помогут вам лучше понять, как применять эти инструменты в своих проектах.

Кинга Идем в IT: пошаговый план для смены профессии

Основы NumPy: установка, создание массивов и базовые операции

NumPy — это библиотека для работы с массивами и матрицами, а также для выполнения высокоуровневых математических функций. Она является основой для многих других библиотек, таких как SciPy и Pandas. NumPy предоставляет удобные методы для создания массивов, выполнения математических операций и работы с многомерными данными.

Установка NumPy

Для установки NumPy можно использовать пакетный менеджер pip. Убедитесь, что у вас установлен Python и pip, затем выполните следующую команду:

Bash
Скопировать код
pip install numpy

Создание массивов

NumPy предоставляет удобные методы для создания массивов. Например, можно создать массив из списка:

Python
Скопировать код
import numpy as np

arr = np.array([1, 2, 3, 4, 5])
print(arr)

Кроме того, NumPy позволяет создавать многомерные массивы, что особенно полезно для работы с матрицами и тензорами:

Python
Скопировать код
matrix = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]])
print(matrix)

Базовые операции

NumPy поддерживает различные операции над массивами, такие как сложение, вычитание, умножение и деление. Эти операции выполняются элемент-wise, что означает, что они применяются к каждому элементу массива:

Python
Скопировать код
arr1 = np.array([1, 2, 3])
arr2 = np.array([4, 5, 6])

# Сложение массивов
sum_arr = arr1 + arr2
print(sum_arr)

# Умножение массива на скаляр
scaled_arr = arr1 * 2
print(scaled_arr)

NumPy также поддерживает множество встроенных функций для выполнения математических операций, таких как вычисление суммы, среднего значения и стандартного отклонения:

Python
Скопировать код
arr = np.array([1, 2, 3, 4, 5])

# Сумма элементов массива
sum_arr = np.sum(arr)
print(sum_arr)

# Среднее значение элементов массива
mean_arr = np.mean(arr)
print(mean_arr)

# Стандартное отклонение элементов массива
std_arr = np.std(arr)
print(std_arr)

Расширенные возможности NumPy: индексирование, срезы и математические функции

NumPy предлагает множество возможностей для работы с массивами, включая индексирование, срезы и использование математических функций. Эти инструменты позволяют эффективно манипулировать данными и выполнять сложные вычисления.

Индексирование и срезы

Индексирование и срезы позволяют выбирать элементы и подмассивы из массива. Это особенно полезно для работы с большими массивами данных, где необходимо извлекать и обрабатывать только определенные части данных:

Python
Скопировать код
arr = np.array([1, 2, 3, 4, 5])

# Индексирование
print(arr[0])  # Первый элемент

# Срезы
print(arr[1:4])  # Элементы со второго по четвертый

Для многомерных массивов можно использовать более сложные формы индексирования и срезов:

Python
Скопировать код
matrix = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]])

# Индексирование элемента
print(matrix[1, 2])  # Элемент во второй строке и третьем столбце

# Срезы
print(matrix[:, 1:3])  # Все строки и столбцы со второго по третий

Математические функции

NumPy включает множество встроенных математических функций, таких как синус, косинус, экспонента и логарифм. Эти функции могут быть применены к массивам, что позволяет выполнять сложные математические вычисления на больших наборах данных:

Python
Скопировать код
arr = np.array([0, np.pi/2, np.pi])

# Синус
sin_arr = np.sin(arr)
print(sin_arr)

# Экспонента
exp_arr = np.exp(arr)
print(exp_arr)

NumPy также поддерживает линейную алгебру, включая операции с матрицами, такие как умножение матриц, вычисление определителя и нахождение обратной матрицы:

Python
Скопировать код
matrix1 = np.array([[1, 2], [3, 4]])
matrix2 = np.array([[5, 6], [7, 8]])

# Умножение матриц
product = np.dot(matrix1, matrix2)
print(product)

# Определитель матрицы
det = np.linalg.det(matrix1)
print(det)

# Обратная матрица
inv_matrix = np.linalg.inv(matrix1)
print(inv_matrix)

Основы Pandas: установка, создание DataFrame и базовые операции

Pandas — это библиотека для анализа данных, которая предоставляет высокоуровневые структуры данных и инструменты для работы с ними. Основные структуры данных в Pandas — это Series и DataFrame. Series представляет собой одномерный массив, а DataFrame — двумерную таблицу данных, аналогичную таблицам в базах данных или электронных таблицах.

Установка Pandas

Для установки Pandas можно использовать pip. Убедитесь, что у вас установлен Python и pip, затем выполните следующую команду:

Bash
Скопировать код
pip install pandas

Создание DataFrame

DataFrame можно создать из словаря или списка. DataFrame представляет собой двумерную таблицу данных, где строки и столбцы имеют метки, что позволяет легко манипулировать и анализировать данные:

Python
Скопировать код
import pandas as pd

data = {
    'Name': ['Alice', 'Bob', 'Charlie'],
    'Age': [25, 30, 35]
}

df = pd.DataFrame(data)
print(df)

DataFrame также можно создать из списка списков, указав метки строк и столбцов:

Python
Скопировать код
data = [
    ['Alice', 25],
    ['Bob', 30],
    ['Charlie', 35]
]

df = pd.DataFrame(data, columns=['Name', 'Age'])
print(df)

Базовые операции

Pandas предоставляет множество методов для работы с данными, включая фильтрацию, сортировку и агрегацию. Эти методы позволяют легко манипулировать данными и извлекать полезную информацию:

Python
Скопировать код
# Фильтрация данных
filtered_df = df[df['Age'] > 25]
print(filtered_df)

# Сортировка данных
sorted_df = df.sort_values(by='Age')
print(sorted_df)

Pandas также поддерживает операции с отсутствующими значениями, что особенно полезно при работе с реальными данными, которые часто содержат пропуски:

Python
Скопировать код
data = {
    'Name': ['Alice', 'Bob', 'Charlie'],
    'Age': [25, None, 35]
}

df = pd.DataFrame(data)

# Обнаружение отсутствующих значений
print(df.isnull())

# Заполнение отсутствующих значений
df['Age'].fillna(df['Age'].mean(), inplace=True)
print(df)

Расширенные возможности Pandas: работа с данными, фильтрация и агрегация

Pandas предлагает мощные инструменты для работы с данными, включая методы для фильтрации, агрегации и обработки отсутствующих значений. Эти инструменты позволяют эффективно анализировать данные и извлекать полезную информацию.

Работа с отсутствующими значениями

Pandas предоставляет методы для обнаружения и обработки отсутствующих значений. Это особенно важно при работе с реальными данными, которые часто содержат пропуски:

Python
Скопировать код
data = {
    'Name': ['Alice', 'Bob', 'Charlie'],
    'Age': [25, None, 35]
}

df = pd.DataFrame(data)

# Обнаружение отсутствующих значений
print(df.isnull())

# Заполнение отсутствующих значений
df['Age'].fillna(df['Age'].mean(), inplace=True)
print(df)

Фильтрация и агрегация данных

Pandas позволяет легко фильтровать и агрегировать данные. Эти методы позволяют извлекать полезную информацию из больших наборов данных и представлять ее в удобной форме:

Python
Скопировать код
data = {
    'Name': ['Alice', 'Bob', 'Charlie', 'Alice'],
    'Age': [25, 30, 35, 25],
    'Score': [85, 90, 95, 80]
}

df = pd.DataFrame(data)

# Группировка данных
grouped_df = df.groupby('Name').mean()
print(grouped_df)

# Фильтрация данных
filtered_df = df[df['Score'] > 85]
print(filtered_df)

Pandas также поддерживает операции с временными рядами, что позволяет анализировать данные, зависящие от времени:

Python
Скопировать код
date_rng = pd.date_range(start='2023-01-01', end='2023-01-10', freq='D')
df = pd.DataFrame(date_rng, columns=['date'])
df['data'] = np.random.randint(0, 100, size=(len(date_rng)))

# Установка индекса
df.set_index('date', inplace=True)
print(df)

# Ресемплирование данных
resampled_df = df.resample('D').mean()
print(resampled_df)

NumPy и Pandas — это мощные инструменты для работы с данными в Python. Они предоставляют широкий спектр возможностей для научных вычислений и анализа данных, что делает их незаменимыми для многих задач. Надеемся, что эта статья помогла вам понять основы этих библиотек и вдохновила на дальнейшее изучение.

Читайте также