Архив рубрики: Библиотеки

Библиотека urllib в Python

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

Содержание

Введение в urllib

Urllib – это библиотека Python, предоставляющая набор модулей для работы с URL (Uniform Resource Locators). Она позволяет взаимодействовать с веб-ресурсами, выполняя HTTP-запросы, разбирая URL и обрабатывая различные аспекты веб-коммуникаций.

Зачем нужна библиотека urllib? Это мощный инструмент для решения веб-задач на языке Python. Библиотека широко используется для веб-скреппинга, выполнения API-запросов, загрузки файлов из Интернета и т.д. С помощью urllib можно автоматизировать различные процессы, связанные с веб, что делает ее незаменимой библиотекой для веб-разработчиков и специалистов по исследованию данных.

Установка urllib

Urllib входит в состав стандартной библиотеки Python, поэтому ее не нужно устанавливать отдельно. Вы можете начать использовать ее, импортировав соответствующие модули в свой Python-скрипт.

Эта библиотека доступна как в Python 2, так и в Python 3, однако его использование может несколько отличаться в разных версиях. Рекомендуется использовать Python 3, так как Python 2 больше не поддерживается.

Модули urllib

Библиотека urllib состоит из нескольких модулей, каждый из которых выполняет определенную задачу. Рассмотрим основные из них.

urllib.request

Модуль urllib.request предоставляет функции для выполнения HTTP-запросов, включая GET- и POST-запросы, и обработки ответов.

import urllib.request

# Пример: отправка GET-запроса
response = urllib.request.urlopen('https://example.com')
html = response.read()
print(html)

urllib.parse

Модуль urllib.parse предназначен для парсинга URL-адресов. Он разбивает их их на такие компоненты, как scheme, netloc, path, query и fragment.

import urllib.parse

# Пример: парсинг URL
url = 'https://www.example.com/path?param=value'
parsed_url = urllib.parse.urlparse(url)
print(parsed_url)

urllib.error

Модуль urllib.error обрабатывает исключения и ошибки, которые могут возникать при выполнении HTTP-запросов.

import urllib.error

try:
    response = urllib.request.urlopen('https://nonexistent-url.com')
except urllib.error.HTTPError as e:
    print(f'HTTP Error: {e.code}')
except urllib.error.URLError as e:
    print(f'URL Error: {e.reason}')

urllib.robotparser

Модуль urllib.robotparser используется для разбора файлов robots.txt, чтобы проверить, разрешен ли доступ веб-краулеру к определенным частям сайта.

import urllib.robotparser

rp = urllib.robotparser.RobotFileParser()
rp.set_url('https://example.com/robots.txt')
rp.read()
allowed = rp.can_fetch('MyCrawler', 'https://example.com/page')
print(allowed)

Основные HTTP-запросы

Отправка GET-запросов

Получение веб-содержимого при помощи GET-запросов – одна из основных операций в urllib.

import urllib.request

response = urllib.request.urlopen('https://example.com')
html = response.read()
print(html)

Отправка POST-запросов

POST-запросы служат для отправки данных на сервер. Они часто используются в веб-формах.

import urllib.request
import urllib.parse

data = urllib.parse.urlencode({'param1': 'value1', 'param2': 'value2'}).encode('utf-8')
response = urllib.request.urlopen('https://example.com/post', data=data)
html = response.read()
print(html)

Работа с HTTP-ответами

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

import urllib.request

response = urllib.request.urlopen('https://example.com')
status_code = response.getcode()
headers = response.info()
html = response.read()
print(f'Status Code: {status_code}')
print(f'Headers: {headers}')
print(html)

Обработка ошибок HTTP

Urllib обеспечивает обработку ошибок, связанных с HTTP, таких как 404 Not Found или ошибки подключения.

import urllib.error

try:
    response = urllib.request.urlopen('https://nonexistent-url.com')
except urllib.error.HTTPError as e:
    print(f'HTTP Error: {e.code}')
except urllib.error.URLError as e:
    print(f'URL Error: {e.reason}')

Работа с URL-адресами

Парсинг URL-адресов

При помощи модуля urllib.parse можно разобрать URL на составляющие.

import urllib.parse

url = 'https://www.example.com/path?param=value'
parsed_url = urllib.parse.urlparse(url)
print(f'Scheme: {parsed_url.scheme}')
print(f'Netloc: {parsed_url.netloc}')
print(f'Path: {parsed_url.path}')
print(f'Query: {parsed_url.query}')

Конструирование URL-адресов

Вы можете конструировать URL, комбинируя их компоненты с помощью urllib.parse.urlunparse() или добавляя параметры запроса к существующему URL.

import urllib.parse

components = ('https', 'example.com', 'path', '', 'param=value', '')
constructed_url = urllib.parse.urlunparse(components)
print(constructed_url)

Продвинутые приемы использования urllib

Работа с файлами cookie

Urllib может работать с cookies с помощью модуля http.cookiejar. Он позволяет управлять данными сессии между запросами.

import urllib.request
import http.cookiejar

# Create a cookie jar to store cookies
cookie_jar = http.cookiejar.CookieJar()
# Create an opener with the cookie jar
cookie_handler = urllib.request.HTTPCookieProcessor(cookie_jar)
opener = urllib.request.build_opener(cookie_handler)
# Make a GET request to a website that sets cookies
url = 'https://httpbin.org/cookies/set?cookie1=value1&cookie2=value2'
response = opener.open(url)
# Check if cookies have been received and stored
if cookie_jar:
    print("Cookies Received:")
    for cookie in cookie_jar:
        print(f"{cookie.name}: {cookie.value}")

Работа с заголовками

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

import urllib.request

url = 'https://example.com'
headers = {'User-Agent': 'My User Agent'}
req = urllib.request.Request(url, headers=headers)
response = urllib.request.urlopen(req)

Работа с перенаправлениями

Urllib может автоматически следовать за HTTP-перенаправлениями. При необходимости это поведение можно отключить.

import urllib.request

# Create a Request object with a URL that redirects
url = 'http://www.example.com'  # This URL redirects to 'https://www.example.com'
req = urllib.request.Request(url, headers={'User-Agent': 'My User Agent'})
# Open the URL without following redirects
response = urllib.request.urlopen(req, allow_redirects=False)
# Check the response status code to see if it's a redirect
if response.status == 302 or response.status == 301:
    print(f'Redirect detected: Status Code {response.status}')
else:
    final_url = response.geturl()  # Get the final URL
    print(f'Final URL: {final_url}')

Работа с тайм-аутами

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

import urllib.request
import urllib.error

url = 'https://example.com'
try:
    response = urllib.request.urlopen(url, timeout=10)  # Set a timeout of 10 seconds
    html = response.read()
    print(html)
except urllib.error.URLError as e:
    if isinstance(e.reason, socket.timeout):
        print("Request timed out.")
    else:
        print(f"URL Error: {e.reason}")

Веб-скрепинг с помощью urllib

Получение HTML-содержимого

Urllib можно использовать для веб-скрапинга, посылая GET-запросы на сайты и получая HTML-контент.

import urllib.request

url = 'https://example.com'
response = urllib.request.urlopen(url)
html = response.read()

Парсинг HTML с помощью BeautifulSoup

Для извлечения данных из HTML можно объединить urllib с библиотекой типа BeautifulSoup.

import urllib.request
from bs4 import BeautifulSoup

# Send a GET request to a web page and retrieve its HTML content
url = 'https://example.com'
response = urllib.request.urlopen(url)
html = response.read()
# Parse the HTML content using BeautifulSoup
soup = BeautifulSoup(html, 'html.parser')
# Find and print a specific element from the HTML (e.g., the page title)
title_element = soup.find('title')
if title_element:
    print('Page Title:', title_element.text)
else:
    print('Title not found on the page.')

Сбор данных с веб-страниц

Вы можете собирать данные с веб-страниц, определяя нужные HTML-элементы и извлекая их содержимое с помощью BeautifulSoup.

import urllib.request
from bs4 import BeautifulSoup

# URL of the web page to scrape
url = 'https://example-news-site.com'

# Send an HTTP GET request to the URL
response = urllib.request.urlopen(url)

# Read the HTML content of the page
html = response.read()

# Parse the HTML content using BeautifulSoup
soup = BeautifulSoup(html, 'html.parser')

# Find and extract article titles
article_titles = []

# Assuming article titles are in h2 tags with a specific class
for h2_tag in soup.find_all('h2', class_='article-title'):
    article_titles.append(h2_tag.text)

# Print the extracted article titles
for title in article_titles:
    print(title)

Примечание редакции: на тему скрапинга читайте также “Скрапинг с помощью Python и Selenium”.

Библиотека urllib и работа с API

Выполнение GET-запросов к API

С помощью urllib можно выполнять GET-запросы к API и получать данные.

import urllib.request

api_url = 'https://api.example.com/data'
response = urllib.request.urlopen(api_url)
data = response.read()
# Parse the JSON response if applicable.

Выполнение POST-запросов к API

Аналогичным образом можно отправлять POST-запросы к API, включив необходимые данные в тело запроса.

import urllib.request
import urllib.parse

data = urllib.parse.urlencode({'param1': 'value1', 'param2': 'value2'}).encode('utf-8')
api_url = 'https://api.example.com/data'
response = urllib.request.urlopen(api_url, data=data)
data = response.read()
# Parse the JSON response if applicable.

Работа с ответами в формате JSON

Многие API-интерфейсы возвращают данные в формате JSON, поэтому для их анализа и работы с ними можно использовать модуль json языка Python.

import urllib.request
import json

api_url = 'https://api.example.com/data'
response = urllib.request.urlopen(api_url)
data = json.loads(response.read().decode('utf-8'))

Скачивание файлов

Загрузка файлов из Интернета

Вы можете использовать urllib для загрузки файлов из Интернета, например, изображений, PDF-файлов или других документов.

import urllib.request

file_url = 'https://example.com/file.pdf'
urllib.request.urlretrieve(file_url, 'downloaded_file.pdf')

Обработка загрузки больших файлов

Для загрузки больших файлов можно использовать потоковый подход для экономии памяти.

import urllib.request

file_url = 'https://example.com/large_file.zip'
with urllib.request.urlopen(file_url) as response, open('downloaded_file.zip', 'wb') as out_file:
    while True:
        data = response.read(4096)
        if not data:
            break
        out_file.write(data)

Лучшие практики

Обработка ошибок

Всегда обрабатывайте исключения и ошибки при выполнении HTTP-запросов или работе с URL-адресами, чтобы обеспечить надежность кода.

import urllib.error
import urllib.request

try:
    response = urllib.request.urlopen('https://nonexistent-url.com')
except urllib.error.HTTPError as e:
    print(f'HTTP Error: {e.code}')
except urllib.error.URLError as e:
    print(f'URL Error: {e.reason}')
else:
    # Code to execute if there are no errors
    html = response.read()
    print(html)

Заголовки User-Agent

Устанавливайте в запросах заголовок User-Agent для идентификации вашего скрипта или приложения при взаимодействии с веб-сайтами или API.

import urllib.request

# Define the User-Agent header
user_agent = 'My Custom User Agent'
# Create a request object with the User-Agent header
url = 'https://example.com'
headers = {'User-Agent': user_agent}
req = urllib.request.Request(url, headers=headers)
# Send the request
response = urllib.request.urlopen(req)
# Now you can work with the response as needed
html = response.read()
print(html)

Соблюдайте правила Robots.txt

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

import urllib.robotparser

# Create a RobotFileParser object and specify the URL of the website's robots.txt file.
rp = urllib.robotparser.RobotFileParser()
rp.set_url('https://example.com/robots.txt')
# Read and parse the robots.txt file.
rp.read()
# Check if it's allowed to crawl a specific URL.
is_allowed = rp.can_fetch('MyCrawler', 'https://example.com/some-page')
if is_allowed:
    print("Crawling is allowed for this URL.")
else:
    print("Crawling is not allowed for this URL according to robots.txt.")

Ограничение скорости

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

import urllib.request
import time

# Define the API URL and the rate limit (requests per minute)
api_url = 'https://api.example.com/data'
rate_limit = 60  # 60 requests per minute
# Function to make an API request with rate limiting
def make_api_request_with_rate_limit(url):
    # Calculate the time interval between requests
    time_interval = 60 / rate_limit  # 60 seconds in a minute
    time_since_last_request = time.time() - last_request_time
    if time_since_last_request < time_interval:
        time.sleep(time_interval - time_since_last_request)
    response = urllib.request.urlopen(url)
    return response.read()
# Initialize the time of the last request
last_request_time = time.time()
# Make API requests with rate limiting
for _ in range(10):  # Make 10 requests
    data = make_api_request_with_rate_limit(api_url)
    print(data)
# Update the time of the last request
last_request_time = time.time()

Заключение

Urllib – это универсальная библиотека на языке Python, позволяющая работать с URL-адресами, выполнять HTTP-запросы и эффективно взаимодействовать с веб-ресурсами. Если вы собираете данные с сайтов, взаимодействуете с API или загружаете файлы из Интернета,  эта библиотека вам точно пригодится. Познакомившись с ее модулями, вы сможете использовать всю ее мощь для решения задач, связанных с веб.

Перевод статьи «urllib in Python».

Сообщение Библиотека urllib в Python появились сначала на pythonturbo.


Source: pythonturbo.ru

Наиболее используемые функции Pandas

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

1. Считывание CSV-файла

Существует множество случаев, когда данные представлены в CSV-файле. Для загрузки таких файлов мы используем функцию read_csv(). Она имеет следующие параметры:

  • filepath – адрес файла для чтения в кавычках
  • sep для указания разделителя (по умолчанию – запятая)
  • header для указания номера строки, содержащей метки столбцов
  • names  (опциональный) для явного указания меток столбцов
  • index_col (опциональный) для указания, какой столбец используется в качестве меток строк

Пример:

df = pd.read_csv('train.csv')

Примечание редакции: подробнее о чтении CSV читайте в статье “Как прочитать CSV-файл в Python”.

2. head() и tail()

Для отображения первых и последних строк данных мы используем функции head() и tail() соответственно. Мы можем указать, сколько строк нужно вывести, передав число в функцию. По умолчанию она выводит пять строк.

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

Вывод первых строк:

df.head()

Результат:

Таблица из пяти строк - вывод функции df.head() без указания количества выводимых строк.

Вывод двух последних строк:

df.tail(2)

Результат:

Таблица из двух строк, результат работы функции df.tail(2)

3. Shape

Для отображения размеров DataFrame, т.е. количества строк и столбцов, мы используем атрибут shape.

df.shape

# Результат:
#(891, 12)

4. info()

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

df.info()
Вывод функции df.info()

Функция info() выводит общее количество записей в данных вместе с диапазоном. Приведенные данные имеют 11 столбцов, которые относятся к типам float, int и object (string). Они занимают 83,7 КБ памяти.

5. Describe

С помощью функции Pandas describe() мы можем вывести множество статистических значений в нескольких столбцах при помощи всего одной строки кода.

Для непрерывных переменных эта функция возвращает количество, среднее значение, медиану, стандартное отклонение, 25-й и 75-й процентили, максимальное и минимальное значения.

df.describe()
Вывод функции Pandas describe(): таблица на 7 столбцов

Функция describe() имеет параметр percentiles, в котором мы можем указать перцентили, которые хотим включить в вывод.

По умолчанию функция выдает статистическую сводку только для числовых переменных. Для отображения других переменных можно указать параметр include.

df.describe(include='all')

Результат:

Вывод функции df.describe(include='all'). Таблица на 12 столбцов.

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

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

df.describe(include = [np.object])
# используйте include = ['category'] для категориальных столбцов
# используйте include = [np.number] для числовых столбцов

Результат:

Таблица на 5 столбцов и 4 строки

Мы также можем использовать describe() для конкретного столбца (столбцов). Если же мы хотим удалить некоторые столбцы из сводки статистики, можно использовать параметр exclude.

6. value_counts

Для вычисления и отображения частотности каждого значения в столбце DataFrame используется функция value_counts().

df['Survived'].value_counts()

# Результат:
# 0    549
# 1    342
# Name: Survived, dtype: int64

Мы можем получить процентные значения для каждого уникального элемента в столбце, используя аргумент normalize=True.

df['Survived'].value_counts(normalize=True)*100

# Результат:
# 0    61.616162
# 1    38.383838
# Name: Survived, dtype: float64

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

df['Survived'].value_counts(normalize=True).plot.bar()
Столбцовая диаграмма на два столбца: 0 и 1

7. Drop

Иногда нам необходимо удалить из данных некоторые столбцы и строки. Для этого используется функция drop().

С помощью параметра axis мы можем сообщить, столбец это или строка.

# столбец
df.drop(['Ticket'], axis=1, inplace=True)

# строка
df.drop(3, axis=0, inplace=True

Как вы уже поняли, axis=1 указывает на столбец, а axis=0 – на строку. inplace=True означает, что изменения сохраняются в исходном DataFrame.

8. Columns

Для отображения имен столбцов в DataFrame мы используем атрибут columns.

df.columns


# Результат:
# Index(['PassengerId', 'Survived', 'Pclass', 'Name', 'Sex', 'Age', 'SibSp',
#        'Parch', 'Fare', 'Cabin', 'Embarked'],
#       dtype='object')

9. rename()

Часто имена столбцов имеют нестандартный формат. Чтобы их изменить, мы используем функцию rename(). Для этого в функцию нужно передать текущее имя столбца и его новое имя:

df.rename(columns={'PassengerId' : 'ID'}, inplace=True)

Примечание редакции: об этом и других изменениях в столбцах читайте в статье “Обновление строк и столбцов в Pandas”.

10. unique() и nunique()

Для нахождения всех уникальных значений в столбце используется функция unique(), а для нахождения их количества – функция nunique().

df['Embarked'].unique()

# array(['S', 'C', 'Q', nan], dtype=object)

df['Embarked'].nunique()

# 3

Функция unique() включает значения nan, а функция unique() исключает их.

Перевод статьи «The Most Used Functions of Pandas».

Сообщение Наиболее используемые функции Pandas появились сначала на pythonturbo.


Source: pythonturbo.ru

Визуализация данных с помощью Seaborn

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

Что такое линейный график?

Библиотека Seaborn используется в визуализации данных на основе моделей, построенных из наборов данных, для прогнозирования результатов и анализа вариаций в данных.

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

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

В приведенном ниже наборе данных колонки переменных – ‘cyl‘, ‘vs‘, ‘am‘, ‘gear‘ и ‘carb‘ – являются категориальными переменными, поскольку все значения данных относятся к определенной категории или диапазону значений.

В это время остальные колонки данных относятся к целочисленным/непрерывным переменным, поскольку они несут дискретные целочисленные значения.

Входной набор данных:

Массив данных MTCARS

Построение первого участка графика Seaborn

Чтобы начать работу с Line Plots, нам необходимо установить и импортировать библиотеку Seaborn в среду Python с помощью следующей команды:

Синтаксис:

pip install seaborn

После завершения установки импортируйте библиотеку в текущую рабочую среду и используйте функции:

Синтаксис:

import seaborn

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

Создание одиночного линейного графика с помощью Seaborn

Мы можем предоставить дискретные значения или использовать наборы данных для создания линейного графика Seaborn.

Синтаксис:

seaborn.lineplot(x, y, data)

  • x: Переменная с координатой для оси x
  • y: Переменная с координатой для оси y
  • data: Объект, указывающий на весь набор данных или значения данных.

Пример 1: Использование случайных данных для построения линейного графика Seaborn

import pandas as pd
import seaborn as sns
import matplotlib.pyplot as plt

Year = [2012, 2014, 2016, 2020, 2021, 2022, 2018]
Profit = [80, 75.8, 74, 65, 99.5, 19, 33.6]

data_plot = pd.DataFrame({"Year":Year, "Profit":Profit})

sns.lineplot(x = "Year", y = "Profit", data=data_plot)
plt.show()

На приведенном ниже линейном графике мы можем наблюдать линейную зависимость между двумя переменными – ” Year” и “Profit”.

Вывод:

Пример 2: Использование набора данных для создания линейного графика и отображения взаимосвязи между двумя переменными.

import pandas as pd
import seaborn as sns
import matplotlib.pyplot as plt

data = pd.read_csv("C:/mtcars.csv")
info = data.iloc[1:20,:5]
sns.lineplot(x = "drat", y = "mpg",data=info)
sns.set(style='dark',)
plt.show()

Исходные данные:

Входной набор данных Seaborn LinePlot

Вывод:

Одновременное изображение нескольких графиков

Мы можем создать несколько графиков для визуализации данных в одном и том же пространстве. Мы можем использовать один или несколько столбцов данных/переменных данных и изобразить взаимосвязь между ними в целом.

1. Использование параметра hue для изображения нескольких графиков разного цвета

Параметр hue используется для группировки различных переменных набора данных и поможет изобразить взаимосвязь между столбцами данных по оси x и y, причем столбец передается в качестве значения аргумента.

Синтаксис:

seaborn.lineplot(x,y,data,hue)

Пример:

import pandas as pd
import seaborn as sns
import matplotlib.pyplot as plt

data = pd.read_csv("C:/mtcars.csv")
info = data.iloc[1:20,:5]
sns.lineplot(x = "drat", y = "mpg", data=info, hue="cyl")
plt.show()

Приведенный ниже график представляет собой три линии разной цветовой гаммы, отображающие взаимосвязь между “drat“, “mpg” и “cyl” соответственно.

Вывод:

2. Использование параметра style для построения различных типов линий

Мы можем установить аргумент style, чтобы задать различные типы линий: штрих, точки (маркеры) и т.д.

Синтаксис:

seaborn.lineplot(x, y, data, style)

Пример 2:

import pandas as pd
import seaborn as sns
import matplotlib.pyplot as plt

data = pd.read_csv("C:/mtcars.csv")
info = data.iloc[1:20,:5]
sns.lineplot(x = "drat", y = "mpg", data=info, hue="cyl", style="cyl")
plt.show()

На графике представлены отношения значения ‘cyl’ к ‘mpg’ и ‘drat’ с различными структурами линий, т.е. простой линией, пунктиром и точками.

Вывод:

3. Использование параметра размера для построения нескольких линейных графиков в Seaborn

Мы можем использовать параметр size функции seaborn.lineplot() для представления взаимосвязей между несколькими переменными данных с помощью линии разного размера. Таким образом, эта линия действует как группирующая переменная с различным размером/шириной в зависимости от величины данных.

Синтаксис:

seaborn.lineplot(x, y, data, size)

Пример 3:

import pandas as pd
import seaborn as sns
import matplotlib.pyplot as plt

data = pd.read_csv("C:/mtcars.csv")
info = data.iloc[1:20,]
sns.lineplot(x = "drat", y = "mpg", data=info, hue="gear",style="gear",size="gear")
plt.show()

Исходные данные:

Набор данных для построения нескольких графиков

Вывод:

Применение различной цветовой палитры

Цветовая карта и палитра Seaborn определяют цветовой диапазон для моделей визуализации. Параметр palette вместе с hue может использоваться для определения кодировки цветовой схемы.

Синтаксис:

seaborn.lineplot(x,y,data,hue,palette)

Пример:

import pandas as pd
import seaborn as sns
import matplotlib.pyplot as plt
 
data = pd.read_csv("C:/mtcars.csv")
info = data.iloc[1:20,]
sns.lineplot(x = "drat", y = "mpg", data=info, hue="gear", palette = "Set1")
plt.show()

Вывод:

Добавление полос ошибок к линейным графикам

Линейные графики могут быть использованы для определения доверительных уровней/интервалов на графиках для отображения коэффициентов ошибок с помощью параметра err_style.

Синтаксис:

seaborn.lineplot(x,y,data,err_style=”bars”)

Пример:

import pandas as pd
import seaborn as sns
import matplotlib.pyplot as plt

data = pd.read_csv("C:/mtcars.csv")
info = data.iloc[1:20,]
sns.lineplot(x = "cyl", y = "mpg",data=info, err_style="bars")
plt.show()

Вывод:

Установка различных стилей с помощью функции seaborn.set()

Функция Python seaborn.set() может быть использована для отображения графика с другим стилем фона.

Синтаксис:

seaborn.set(style)

Пример:

import pandas as pd
import seaborn as sns
import matplotlib.pyplot as plt

data = pd.read_csv("C:/mtcars.csv")
info = data.iloc[1:20,]
sns.lineplot(x = "cyl", y = "mpg",data=info,hue="gear")
sns.set(style='dark',)
plt.show()

Вывод:

Заключение

В этой статье мы разобрались с линейными графиками и их вариациями.

Перевод статьи «Data Visualization with Seaborn Line Plot».

Сообщение Визуализация данных с помощью Seaborn появились сначала на pythonturbo.


Source: pythonturbo.ru