Книга Python Библиотеки - читать онлайн бесплатно, автор Джейд Картер. Cтраница 2
bannerbanner
Вы не авторизовались
Войти
Зарегистрироваться
Python Библиотеки
Python Библиотеки
Добавить В библиотекуАвторизуйтесь, чтобы добавить
Оценить:

Рейтинг: 0

Добавить отзывДобавить цитату

Python Библиотеки

matrix1 = np.array([[1, 2], [3, 4]])

matrix2 = np.array([[5, 6], [7, 8]])

result_matrix_product = np.dot(matrix1, matrix2)

print(result_matrix_product)

```

Результат:

[[19 22]

[43 50]]

4. Статистика:

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

```python

import numpy as np

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

mean_value = np.mean(data)

std_deviation = np.std(data)

median_value = np.median(data)

print("Mean:", mean_value)

print("Standard Deviation:", std_deviation)

print("Median:", median_value)

```

Результат:

Mean: 3.0

Standard Deviation: 1.4142135623730951

Median: 3.0

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

2.2. Pandas

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

1. Установка Pandas

Прежде всего, убедитесь, что у вас установлен пакет Pandas. Вы можете установить его с помощью команды:

```bash

pip install pandas

```

2. Создание DataFrame

DataFrame можно создать из различных источников данных, таких как списки, словари, массивы NumPy, CSV-файлы и многие другие. Рассмотрим несколько примеров.

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

Основные характеристики DataFrame в Pandas:

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

2. Метки по осям: В DataFrame метки по осям позволяют легко идентифицировать данные. Оси DataFrame имеют метки строк (индексы) и столбцов.

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

4. Гибкость в обработке данных: Pandas предоставляет обширный набор методов и функций для фильтрации, сортировки, группировки, объединения и агрегации данных в DataFrame.

Пример создания простого DataFrame:

```python

import pandas as pd

data = {'Имя': ['Анна', 'Борис', 'Виктория'],

'Возраст': [25, 30, 22],

'Город': ['Москва', 'Санкт-Петербург', 'Киев']}

df = pd.DataFrame(data)

print(df)

```

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

```

Имя Возраст Город

0 Анна 25 Москва

1 Борис 30 Санкт-Петербург

2 Виктория 22 Киев

```

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

Из списка словарей:

```python

import pandas as pd

data = {'Имя': ['Анна', 'Борис', 'Виктория'],

'Возраст': [25, 30, 22],

'Город': ['Москва', 'Санкт-Петербург', 'Киев']}

df = pd.DataFrame(data)

print(df)

```

Из CSV-файла:

```python

import pandas as pd

df = pd.read_csv('данные.csv')

print(df)

```

CSV (Comma-Separated Values) – это текстовый формат для представления табличных данных. В файле CSV данные организованы в виде таблицы, где каждая строка представляет собой отдельную запись, а столбцы разделены разделителем, обычно запятой (`,`). Однако, в зависимости от локали, могут использоваться и другие разделители, такие как точка с запятой (`;`) или табуляция (`\t`).

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

Пример CSV-файла:

Имя,Возраст,Город

Анна,25,Москва

Борис,30,Санкт-Петербург

Виктория,22,Киев

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

CSV-файлы легко читаются и создаются с использованием различных программ, включая текстовые редакторы, электронные таблицы (например, Microsoft Excel, Google Sheets) и программы для обработки данных (например, Python с библиотекой Pandas).

3. Основные операции с DataFrame

Просмотр данных:

```python

# Вывести первые n строк DataFrame

print(df.head())

# Вывести последние n строк DataFrame

print(df.tail())

```

Индексация и выбор данных:

```python

# Выбор столбца по имени

age = df['Возраст']

# Выбор строки по индексу

row = df.loc[0]

```

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

```python

# Фильтрация по условию

filtered_df = df[df['Возраст'] > 25]

```

Добавление новых столбцов:

```python

# Добавление нового столбца

df['Зарплата'] = [50000, 60000, 45000]

```

Операции с группами:

```python

# Группировка данных по столбцу 'Город' и вычисление среднего значения возраста в каждой группе

grouped_df = df.groupby('Город')['Возраст'].mean()

```

4. Визуализация данных с Pandas

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

Давайте разберем пошагово строки кода:

– Импорт библиотек:

```python

import pandas as pd

import matplotlib.pyplot as plt

import seaborn as sns

```

Здесь мы импортируем необходимые библиотеки. `pd` – это стандартное соглашение для обозначения библиотеки Pandas. `matplotlib.pyplot` используется для создания графиков, а `seaborn` – библиотека для стилизации графиков и добавления дополнительных функций визуализации.

– Создание данных:

```python

data = {'Имя': ['Анна', 'Борис', 'Виктория'],

'Возраст': [25, 30, 22],

'Город': ['Москва', 'Санкт-Петербург', 'Киев']}

df = pd.DataFrame(data)

```

Мы создаем простой DataFrame с тремя колонками: 'Имя', 'Возраст' и 'Город'. Эти данные представляют собой три записи с именами, возрастами и городами.

Настраиваем стиль seaborn:

```python

sns.set(style="whitegrid")

```

Эта строка устанавливает стиль для графика с помощью библиотеки seaborn. Здесь мы выбрали стиль "whitegrid", который добавляет белую сетку на фоне графика.

– Создаем гистограмму:

```python

plt.figure(figsize=(8, 6))

sns.histplot(df['Возраст'], bins=20, kde=True, color='skyblue')

```

Здесь мы создаем гистограмму для столбца 'Возраст' из DataFrame. `figsize=(8, 6)` устанавливает размер графика. `bins=20` указывает количество столбцов в гистограмме. `kde=True` добавляет оценку плотности на гистограмму. `color='skyblue'` задает цвет графика.

– Добавляем подписи и заголовок:

```python

plt.xlabel('Возраст', fontsize=12)

plt.ylabel('Частота', fontsize=12)

plt.title('Гистограмма возрастов', fontsize=14)

```

Эти строки добавляют подписи к осям и заголовок для улучшения понимания графика

– Добавляем сетку:

```python

plt.grid(axis='y', linestyle='–', alpha=0.7)

```

Эта строка добавляет горизонтальную сетку для лучшей читаемости.

– Показываем график:

```python

plt.show()

```

И наконец, эта строка отображает график.

Этот код создает красивую гистограмму с данными о возрасте и демонстрирует базовые шаги визуализации данных с использованием библиотек Pandas, Matplotlib и Seaborn в Python.

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

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

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

Здесь мы отсортировали DataFrame по столбцу 'Возраст' в порядке убывания.



В данном примере мы использовали агрегацию для расчета среднего возраста и суммы зарплаты для каждого города.

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

2.3. Matplotlib

Matplotlib – это библиотека для визуализации данных в языке программирования Python. Она предоставляет множество инструментов для создания различных типов графиков и диаграмм. Давайте рассмотрим несколько основных видов графиков и диаграмм, которые можно создать с помощью Matplotlib.

1. Линейный график

Линейный график подходит для визуализации зависимости одной переменной от другой. Рассмотрим пример:

```python

import matplotlib.pyplot as plt

# Создаем данные для примера

x = [1, 2, 3, 4, 5]

y = [10, 15, 7, 12, 9]

# Строим линейный график

plt.plot(x, y, marker='o', linestyle='-', color='b', label='Линейный график')

# Добавляем подписи и заголовок

plt.xlabel('X-ось')

plt.ylabel('Y-ось')

plt.title('Пример линейного графика')

plt.legend() # Добавляем легенду

# Показываем график

plt.show()

```

2. Гистограмма

Гистограмма используется для визуализации распределения данных. Пример:

```python

import matplotlib.pyplot as plt

import numpy as np

# Создаем данные для примера

data = np.random.randn(1000)

# Строим гистограмму

plt.hist(data, bins=30, color='skyblue', edgecolor='black')

# Добавляем подписи и заголовок

plt.xlabel('Значения')

plt.ylabel('Частота')

plt.title('Пример гистограммы')

# Показываем график

plt.show()

```

3. Круговая диаграмма

Круговая диаграмма отображает доли от целого. Пример:

```python

import matplotlib.pyplot as plt

# Создаем данные для примера

sizes = [15, 30, 45, 10]

labels = ['Категория 1', 'Категория 2', 'Категория 3', 'Категория 4']

# Строим круговую диаграмму

plt.pie(sizes, labels=labels, autopct='%1.1f%%', startangle=90, colors=['skyblue', 'lightcoral', 'lightgreen', 'lightpink'])

# Добавляем заголовок

plt.title('Пример круговой диаграммы')

# Показываем график

plt.show()

```

4. Диаграмма разброса

Диаграмма разброса отображает связь между двумя переменными. Пример:

```python

import matplotlib.pyplot as plt

import numpy as np

# Создаем данные для примера

x = np.random.randn(100)

y = 2 * x + np.random.randn(100)

# Строим диаграмму разброса

plt.scatter(x, y, color='green', alpha=0.7)

# Добавляем подписи и заголовок

plt.xlabel('X-ось')

plt.ylabel('Y-ось')

plt.title('Пример диаграммы разброса')

# Показываем график

plt.show()

```

5. Столбчатая диаграмма

Столбчатая диаграмма хорошо подходит для сравнения значений различных категорий.

```python

import matplotlib.pyplot as plt

# Создаем данные для примера

categories = ['Категория 1', 'Категория 2', 'Категория 3', 'Категория 4']

values = [25, 40, 30, 20]

# Строим столбчатую диаграмму

plt.bar(categories, values, color=['blue', 'orange', 'green', 'red'])

# Добавляем подписи и заголовок

plt.xlabel('Категории')

plt.ylabel('Значения')

plt.title('Пример столбчатой диаграммы')

# Показываем график

plt.show()

```

6. Ящик с усами (Boxplot)

Диаграмма "ящик с усами" отображает статистическое распределение данных.

```python

import matplotlib.pyplot as plt

import numpy as np

# Создаем данные для примера

data = np.random.randn(100, 3)

# Строим ящик с усами

plt.boxplot(data, labels=['Группа 1', 'Группа 2', 'Группа 3'])

# Добавляем подписи и заголовок

plt.xlabel('Группы')

plt.ylabel('Значения')

plt.title('Пример диаграммы "ящик с усами"')

# Показываем график

plt.show()

```

7. Тепловая карта

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

```python

import matplotlib.pyplot as plt

import numpy as np

# Создаем данные для примера

data = np.random.rand(10, 10)

# Строим тепловую карту

plt.imshow(data, cmap='viridis', interpolation='nearest')

# Добавляем цветовую шкалу

plt.colorbar()

# Добавляем заголовок

plt.title('Пример тепловой карты')

# Показываем график

plt.show()

```

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

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

Линейный график:

– Когда нужно отобразить изменение значения переменной в зависимости от другой переменной во времени.

– Подходит для отслеживания трендов и показывает, как изменяется значение с течением времени.

Гистограмма:

– Когда вам нужно визуально представить распределение данных.

– Полезна для оценки формы и характеристик распределения, таких как центральная тенденция и разброс.

Круговая диаграмма:

– Когда вам нужно показать долю каждой категории относительно общего значения.

– Эффективна при отображении процентного соотношения различных категорий в целом.

Диаграмма разброса:

– Когда необходимо показать взаимосвязь между двумя переменными.

– Идеальна для выявления корреляции и выявления возможных выбросов в данных.

Столбчатая диаграмма:

– Когда требуется сравнение значений различных категорий.

– Полезна для наглядного отображения различий между группами или категориями.

Ящик с усами (Boxplot):

– Когда нужно визуализировать распределение данных, а также выявить наличие выбросов.

– Полезен для оценки статистических характеристик данных и сравнения распределений в различных группах.

Тепловая карта:

– Когда вы хотите представить матрицу данных в виде цветового спектра.

– Подходит для отображения взаимосвязи между двумя наборами данных или для выявления паттернов в матричных данных.

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

Библиотека Matplotlib предоставляет разнообразные и гибкие инструменты для создания визуализаций данных в Python, разберем еще несколько уникальных возможностей Matplotlib:

1. Гибкость настройки:

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

Давайте рассмотрим пример гибкости настройки с использованием Matplotlib. В этом примере мы создадим простой линейный график и настроим его внешний вид.


В этом примере:

– Мы создали объект фигуры (`fig`) и осей (`ax`) с использованием `plt.subplots()`.

– Построили линейный график синусоиды с помощью `ax.plot()`.

– Настроили внешний вид линии, изменив ее цвет, стиль и ширину.

– Настроили оси, добавив подписи и заголовок.

– Добавили легенду для пояснения графика.

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

2. Создание различных типов графиков:

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

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

В этом примере:

– Мы создаем данные для линейного графика (`y_linear`), квадратичной зависимости (`y_quadratic`).

– Создаем объект фигуры и массив осей (2x2) с использованием `plt.subplots()`.

– Строим линейный график, гистограмму и диаграмму разброса на соответствующих осях.

– Регулируем расположение графиков с помощью `plt.tight_layout()`.

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








3. Интеграция с NumPy и Pandas:

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

Давайте рассмотрим пример интеграции Matplotlib с библиотеками NumPy и Pandas. В этом примере мы создадим случайные данные, используя NumPy, и визуализируем их с помощью Matplotlib. Затем мы преобразуем эти данные в объект DataFrame с использованием Pandas и построим столбчатую диаграмму.

В этом примере:

– Мы создаем случайные данные с использованием NumPy и строим график с помощью Matplotlib.

– Затем мы используем Pandas для создания объекта DataFrame из этих данных и строим столбчатую диаграмму.

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

Ниже таблица предоставляет краткое описание сценариев использования и почему интеграция Matplotlib с NumPy и Pandas может быть удобной в каждом из них.




4. Поддержка различных форматов вывода:

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

Давайте рассмотрим пример создания графика с Matplotlib и сохранения его в различных форматах файлов.

В этом примере:

– Мы создаем данные и строим линейный график с использованием Matplotlib.

– Настраиваем внешний вид графика, добавляем подписи и заголовок.

– Сохраняем график в форматах PNG, PDF и SVG с помощью `plt.savefig()`.

После выполнения этого кода, у вас появятся три файла (`sinus_plot.png`, `sinus_plot.pdf`, `sinus_plot.svg`), представляющие график в различных форматах. Это удобно для встраивания в отчеты, презентации или публикацию в различных медиа.

5. Интерактивность:

В Matplotlib предусмотрены средства для создания интерактивных графиков, позволяющих взаимодействовать с данными. Это особенно полезно при работе с Jupyter Notebooks.

Давайте рассмотрим пример создания интерактивного графика с использованием Matplotlib в среде Jupyter Notebook. Для этого мы будем использовать функцию `plotly` для добавления интерактивности.

```python

import matplotlib.pyplot as plt

import numpy as np

import plotly.graph_objects as go

from IPython.display import display, HTML

# Создаем данные для примера

x = np.linspace(0, 2 * np.pi, 100)

y = np.sin(x)

# Строим линейный график с Matplotlib

plt.plot(x, y, label='Синус')

plt.xlabel('X-ось')

plt.ylabel('Y-ось')

plt.title('Интерактивный график синуса')

plt.legend()

# Преобразуем Matplotlib график в интерактивный с использованием Plotly

fig = go.Figure()

fig.add_trace(go.Scatter(x=x, y=y, mode='lines', name='Синус'))

# Настраиваем макет

fig.update_layout(

title='Интерактивный график синуса',

xaxis=dict(title='X-ось'),

yaxis=dict(title='Y-ось'),

)

# Отображаем интерактивный график внутри ячейки Jupyter Notebook

display(HTML(fig.to_html()))

```

В этом примере:

– Мы создаем данные и строим линейный график с Matplotlib.

– Затем мы используем Plotly, чтобы преобразовать этот график в интерактивный. Обратите внимание, что для этого требуется установка библиотеки Plotly (`pip install plotly`).

– Используется `display(HTML(fig.to_html()))`, чтобы отобразить интерактивный график внутри ячейки Jupyter Notebook.

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

6. Встроенные цветовые карты:

Matplotlib предоставляет широкий выбор цветовых карт для лучшего представления данных. От дискретных цветовых карт до плавных переходов, библиотека предоставляет разнообразные опции.

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

```python

import matplotlib.pyplot as plt

import numpy as np

# Создаем данные для тепловой карты

data = np.random.random((10, 10))

# Список цветовых карт для использования

colormaps = ['viridis', 'plasma', 'magma', 'inferno', 'cividis']

# Создаем подграфики для каждой цветовой карты

fig, axes = plt.subplots(1, len(colormaps), figsize=(15, 3))

# Строим тепловую карту для каждой цветовой карты

for i, cmap in enumerate(colormaps):

im = axes[i].imshow(data, cmap=cmap)

axes[i].set_title(f'Цветовая карта: {cmap}')

fig.colorbar(im, ax=axes[i], orientation='vertical', fraction=0.046, pad=0.04)

# Регулируем расположение графиков

plt.tight_layout()

# Показываем графики

plt.show()

```

В этом примере:

– Мы создаем случайные данные для тепловой карты с использованием NumPy.