Python е многофункционален и широко използван език за програмиране, който става все по-популярен сред разработчиците, специалистите по данни и инженерите за машинно обучение. Една от най-големите причини за популярността му е наличието на множество библиотеки и рамки, които правят задачите по програмиране по-лесни и по-ефективни.

В тази публикация в блога ще ви представим четири библиотеки на Python, които могат да ви помогнат да разрешите различни проблеми и да подобрите уменията си за програмиране. Независимо дали работите върху анализ на данни, уеб скрапинг, обработка на естествен език или машинно обучение, тези библиотеки ще се окажат изключително полезни инструменти във вашия набор от инструменти.

Така че без повече шум, нека се потопим в света на библиотеките на Python и да проучим какво предлагат тези четири мощни инструмента!

1. rembg

Първата библиотека, която ще обсъдим, е rembg. Правили ли сте някога снимка и искате да премахнете фона? Ако е така, знаете колко досадна и времеемка може да бъде тази задача. Това е мястото, където "rembg" идва на помощ.

Rembg е библиотека на Python, която може бързо и точно да премахва фонове от изображения. Той използва модел на машинно обучение, за да анализира пикселите в изображение и да определи кои са част от предния план (обекта на изображението) и кои са част от фона.

Само с няколко реда код можете да използвате „rembg“, за да премахнете фона от изображение и да го запазите с прозрачен фон. Това може да бъде изключително полезно при създаване на графики за уебсайтове, проектиране на лога или създаване на съдържание за социални медии.

Ето кода за премахване на фона на изображение:

from rembg import remove
import cv2
import os

input_path = os.path.join('images', 'woman.jpg')
output_path = os.path.join('images', 'woman_without_background.jpg')

inputImg = cv2.imread(input_path)
outputImg = remove(inputImg)
cv2.imwrite(output_path, outputImg)

За повече информация: https://pypi.org/project/rembg/

2. PyInputPlus

PyInputPlus е библиотека на Python, която предоставя лесен начин за получаване на информация от потребителите и за валидиране. Той предоставя няколко входни функции, които обработват обичайни случаи на употреба, като цели числа, числа с плаваща задна буква и дати, както и по-сложни сценарии за валидиране, като модели на регулярни изрази и персонализирани функции за валидиране. Нека да разгледаме пример, който демонстрира как може да се използва PyInputPlus:

import pyinputplus as pyip

# get an integer input from the user between 1 and 10
response = pyip.inputInt(prompt="Enter a number between 1 and 10: ", min=1, max=10)

# get a date input from the user in YYYY-MM-DD format
date = pyip.inputDate(prompt="Enter a date in YYYY-MM-DD format: ")

# get a yes or no input from the user
confirm = pyip.inputYesNo(prompt="Are you sure? (yes or no): ")

# get a regex pattern input from the user
regex = pyip.inputRegex(prompt="Enter a regex pattern: ", regex=r'(a|b)+')

# get a custom input from the user using a function
def validate_input(input_str):
    if len(input_str) < 5:
        raise Exception("Input must be at least 5 characters long.")
    return input_str

custom_input = pyip.inputCustom(validate_input, prompt="Enter a string: ")

В този пример първо импортираме библиотеката PyInputPlus с помощта на оператора import pyinputplus as pyip. След това използваме различни функции за въвеждане, предоставени от PyInputPlus, за да получим вход от потребителя и да го потвърдим:

  • pyip.inputInt() подканва потребителя да въведе цяло число между 1 и 10 и приема само въвеждане в рамките на този диапазон.
  • pyip.inputDate() подканва потребителя да въведе дата във формат ГГГГ-ММ-ДД и приема само въвеждане, което съответства на този формат.
  • pyip.inputYesNo() подканва потребителя да въведе „да“ или „не“ и приема само тези два входа.
  • pyip.inputRegex() подканва потребителя да въведе модел на регулярен израз и приема само въвеждане, което съответства на дадения шаблон.
  • pyip.inputCustom() подканва потребителя да въведе низ и използва персонализирана функция за валидиране, за да гарантира, че въведеното е с дължина поне 5 знака.

Като цяло PyInputPlus предоставя лесен и удобен начин за въвеждане на потребителски данни в Python, като същевременно гарантира, че въвеждането отговаря на определени критерии.

За повече информация: https://pypi.org/project/PyInputPlus/

3. pyperclip

pyperclip е библиотека на Python, която предоставя лесен начин за копиране и поставяне на текст към и от клипборда на Windows, macOS и Linux. Тя ви позволява да получите достъп до функционалността на клипборда на вашата операционна система, като използвате само няколко реда код на Python.

Ето пример как да използвате pyperclip за копиране и поставяне на текст:

import pyperclip

# Copy a string to the clipboard
pyperclip.copy('Hello, world!')

# Paste the contents of the clipboard to a variable
text = pyperclip.paste()

print(text)

В този пример първо импортираме библиотеката pyperclip с помощта на оператора import pyperclip. След това използваме функцията pyperclip.copy(), за да копираме низа „Hello, world!“ към клипборда. И накрая, използваме функцията pyperclip.paste(), за да извлечем съдържанието на клипборда и да го съхраним в променливата text. След това отпечатваме стойността на text, която трябва да бъде „Здравей, свят!“.

За повече информация: https://pypi.org/project/pyperclip/

4. сюжетен

Plotly е библиотека на Python, която предоставя лесен начин за създаване на интерактивни и визуално привлекателни графики и диаграми. Той ви позволява да създавате сложни сюжети само с няколко реда код и предоставя широк набор от опции за персонализиране, за да ви помогне да създадете точно този сюжет, от който се нуждаете.

Едно от основните предимства на Plotly е, че осигурява модерен и изчистен вид на вашите графики в сравнение със стила по подразбиране на библиотеки като matplotlib или seaborn. Това го прави чудесен избор, ако трябва да създадете професионално изглеждащи сюжети за презентации или доклади.

Ето пример за това как да създадете проста точкова диаграма с помощта на Plotly:

import plotly.graph_objs as go
import plotly.offline as pyo

# create a scatter plot
trace = go.Scatter(
    x=[1, 2, 3, 4, 5],
    y=[1, 4, 9, 16, 25],

)

# create a layout for the plot
layout = go.Layout(
    title='My Scatter Plot',
    xaxis=dict(title='X-axis'),
    yaxis=dict(title='Y-axis')
)

# combine the trace and layout into a figure object
fig = go.Figure(data=[trace], layout=layout)

# display the plot in a browser window
pyo.plot(fig, filename='scatter.html')

В този пример първо импортираме необходимите модули с помощта на операторите import. След това създаваме Scatter трасиращ обект, който дефинира данните и стила за точковата диаграма. Ние също така създаваме Layout обект, който определя цялостното оформление на диаграмата, включително заглавието и етикетите на осите.

След това комбинираме проследяването и оформлението в Figure обект с помощта на функцията go.Figure() и го запазваме в HTML файл с помощта на функцията pyo.plot().

Като цяло Plotly е мощна и лесна за използване библиотека за създаване на висококачествени графики и диаграми в Python. Неговият модерен стил и интерактивност го правят чудесен избор за широк спектър от задачи за визуализация на данни.

Ако сте намерили този код за полезен, моля, помислете за пляскане и коментиране на тази публикация! Също така ще се радвам да ме последвате, за да научите повече за Data Science и други свързани теми. Благодаря ви, че прочетохте!