Популярные библиотеки для 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
Подробнее об этом расскажет наш спикер на видео
skypro youtube speaker

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

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. Они предоставляют широкий спектр возможностей для научных вычислений и анализа данных, что делает их незаменимыми для многих задач. Надеемся, что эта статья помогла вам понять основы этих библиотек и вдохновила на дальнейшее изучение.

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

Проверь как ты усвоил материалы статьи
Пройди тест и узнай насколько ты лучше других читателей
Что такое NumPy?
1 / 5