{"id":14275,"url":"\/distributions\/14275\/click?bit=1&hash=bccbaeb320d3784aa2d1badbee38ca8d11406e8938daaca7e74be177682eb28b","title":"\u041d\u0430 \u0447\u0451\u043c \u0437\u0430\u0440\u0430\u0431\u0430\u0442\u044b\u0432\u0430\u044e\u0442 \u043f\u0440\u043e\u0444\u0435\u0441\u0441\u0438\u043e\u043d\u0430\u043b\u044c\u043d\u044b\u0435 \u043f\u0440\u043e\u0434\u0430\u0432\u0446\u044b \u0430\u0432\u0442\u043e?","buttonText":"\u0423\u0437\u043d\u0430\u0442\u044c","imageUuid":"f72066c6-8459-501b-aea6-770cd3ac60a6"}

Шесть малоизвестных библиотек Python 2023

Я активно использую Python в течение последних пяти лет. Мне постоянно попадаются интересные библиотеки, которые могут улучшить мою работу в проектах. В прошлом я поделился двумя статьями: пятью классными библиотеками Python для Data Science и шестью классными библиотеками Python, с которыми я недавно столкнулся.

В этой статье я делюсь еще шестью удивительными библиотеками python, которые я сейчас использую в своей работе.

1. Humanize

Humanize обеспечивает простое, легко читаемое форматирование строк для чисел, дат и времени. Цель библиотеки - взять данные и сделать их более удобными для человека, например, путём преобразования количества секунд в более читаемую строку, такую как “2 минуты назад”. Библиотека может форматировать данные различными способами, включая форматирование чисел с помощью запятых, преобразование временных меток в относительное время и многое другое.

Я часто использую целые числа и дату и время для своих проектов по разработке данных.

Подключение

!pip install humanize

Пример (Целые числа)

# Importing library import humanize import datetime as dt # Formatting numbers with comma a = humanize.intcomma(951009) # converting numbers into words b = humanize.intword(10046328394) #printing print(a) print(b)

Результат

Пример (Дата и время)

import humanize import datetime as dt a = humanize.naturaldate(dt.date(2012, 6, 5)) b = humanize.naturalday(dt.date(2012, 6, 5)) print(a) print(b)

Результат

С дополнительной информацией об этой библиотеке вы можете ознакомиться здесь.

2.Pendulum

Хотя на Python доступно множество библиотек для DateTime, я нахожу, что Pendulum прост в использовании при любой операции с датами. Pendulum - моя любимая библиотека для ежедневного использования на работе. Она расширяет встроенный модуль Python DateTime, добавляя более интуитивно понятный API для обработки часовых поясов и выполнения операций с датами и временем, таких как добавление временных интервалов, вычитание дат и преобразование между часовыми поясами. Она предоставляет простой, удобный для пользователя API для форматирования дат и времени.

Подключение

!pip install pendulum

Пример

# import library import pendulum dt = pendulum.datetime(2023, 1, 31) print(dt) #local() creates datetime instance with local timezone local = pendulum.local(2023, 1, 31) print("Local Time:", local) print("Local Time Zone:", local.timezone.name) # Printing UTC time utc = pendulum.now('UTC') print("Current UTC time:", utc) # Converting UTC timezone into Europe/Paris time europe = utc.in_timezone('Europe/Paris') print("Current time in Paris:", europe)

Результат

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

3.ftfy

Сталкивались ли вы с тем, что иностранный язык, присутствующий в данных, отображается некорректно? Это называется моджибаке. Моджибаке - это термин, используемый для описания искажённого или скремблированного текста, который возникает в результате проблем с кодированием или декодированием. Обычно это происходит, когда текст, который был написан в одной кодировке символов, неправильно декодируется с использованием другой кодировки. Библиотека ftfy поможет вам исправить моджибаке, что очень полезно в случаях использования NLP.

Подключение

!pip install ftfy

Пример

print(ftfy.fix_text('Correct the sentence using “ftfyâ€\x9d.')) print(ftfy.fix_text('✔ No problems with text')) print(ftfy.fix_text('à perturber la réflexion'))

Результат

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

  • Latin-1 (ISO-8859–1)
  • Windows-1252 (cp1252 — используется в продуктах Microsoft)
  • Windows-1251 (cp1251 — русская версия cp1252)
  • Windows-1250 (cp1250 — восточноевропейская версия cp1252)
  • ISO-8859–2 (который не совсем совпадает с Windows-1250)
  • MacRoman (используется в Mac OS 9 и более ранних версиях)
  • cp437 (используется в MS-DOS и некоторых версиях командной строки Windows)

Для получения более подробной информации, пожалуйста, ознакомьтесь с документацией здесь.

4. Sketch

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

Подключение

!pip install sketch

Пример

Нам нужно добавить расширение .sketch к фрейму данных Pandas, чтобы использовать эту библиотеку.

.sketch.ask

ask - это функция Sketch, которая позволяет пользователям задавать вопросы об их данных в формате естественного языка. Она предоставляет текстовый ответ на запрос пользователя.

# Importing libraries import sketch import pandas as pd # Reading the data (using twitter data as an example) df = pd.read_csv("tweets.csv") print(df)
# Asking which columns are category type df.sketch.ask("Which columns are category type?")

Результат

# To find the shape of the dataframe df.sketch.ask("What is the shape of the dataframe")

.sketch.howto

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

# Asking to provide code snipped for visualising the emotions df.sketch.howto("Visualize the emotions")

Результат

.sketch.apply

функция .apply помогает создавать новые функции, анализировать поля и выполнять другие манипуляции с данными. Чтобы использовать эту функцию, нам нужно иметь учетную запись OpenAI и использовать API-ключ для выполнения задач. Я не пробовал эту функцию.

Мне понравилось пользоваться этой библиотекой, особенно функцией howto, и я нахожу её полезной.

Вы можете перейти на этот Github, чтобы узнать больше о Sketch.

5. pgeocode

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

Подключение

!pip install pgeocode

Пример

Получение геоинформации для конкретных почтовых индексов:

# Checking for country "India" nomi = pgeocode.Nominatim('In') # Getting geo information by passing the postcodes nomi.query_postal_code(["620018", "620017", "620012"])

Результат

pgeocode вычисляет расстояние между двумя почтовыми кодами, используя страну и почтовые индексы в качестве входных данных. Результат указан в километрах:

# Finding a distance between two postcodes distance = pgeocode.GeoDistance('In') distance.query_postal_code("620018", "620012")

Результат

Вы можете ознакомиться с документацией библиотеки здесь.

6. rembg

rembg - это ещё одна полезная библиотека, которая легко удаляет фон с изображений.

Подключение

!pip install rembg

Пример

# Importing libraries
from rembg import remove import cv2 # path of input image (my file: image.jpeg) input_path = 'image.jpeg' # path for saving output image and saving as a output.jpeg output_path = 'output.jpeg' # Reading the input image input = cv2.imread(input_path) # Removing background output = remove(input) # Saving file cv2.imwrite(output_path, output)

Результат

Возможно, вы уже знакомы с некоторыми из этих библиотек, но для меня Sketch, Pendulum, pgeocode и ftfy незаменимы в моей работе по разработке данных. Я сильно полагаюсь на них в своих проектах.

Спасибо, что нашли время прочитать эту статью. Я хотел бы услышать ваши мысли и мнения, поэтому не стесняйтесь оставлять комментарии. Если вам есть что добавить, пожалуйста, не стесняйтесь комментировать!

Статья была взята из этого источника:

0
Комментарии
-3 комментариев
Раскрывать всегда