Python

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

1. Numerizer

Потрясающая библиотека для преобразования чисел из текстового формата в int (числовой) и float (с плавающей запятой). Полезная библиотека для NLP-проектов. Подробнее можно почитать в PyPi и Github репозитории.

Установка

!pip install numerizer

Пример

#импорт библиотеки numerizer
from numerizer import numerize#examplesprint(numerize(‘Eight fifty million’))
print(numerize(‘one two three’))
print(numerize(‘Fifteen hundred’))
print(numerize(‘Three hundred and Forty five’))
print(numerize(‘Six and one quarter’))
print(numerize(‘Jack is having fifty million’))
print(numerize(‘Three hundred billion’))

Результат

2. Missingo

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

Установка

!pip install missingno

Пример

# импорт необходимых библиотек
import pandas as pd 
import missingno as mi

# чтение тестового набора данных
data = pd.read_excel(“dummy.xlsx”)

# проверка пропущенных значений
data.isnull().sum()

В тестовом наборе данных содержится 4 столбца и 11 строк. Пропущенные данные видны в переменных Min, Temp и City. Мы можем визуализировать эти значения с помощью гистограммы или матрицы. Кроме того, библиотека поддерживает тепловую карту и древовидную диаграмму. Подробнее можно почитать в Github-репозитории.

#Визуализация с помощью missingno

print(“Visualizing missing value using bar graph”)
mi.bar(data, figsize = (10,5))

print(“Visualizing missing value using matrix”)
mi.matrix(data, figsize = (10,5) )

Результат

Визуализация пропущенных значений с помощью гистограммы
Визуализация пропущенных значений с помощью матрицы

На этих визуализациях показаны пропущенные значения в переменных Temp, Min и City.

3. Faker

Иногда возникают ситуации, когда для проведения анализа нам нужно сгенерировать тестовые данные или воспользоваться текстом-заполнителем. Библиотека Faker помогает решить эту проблему, быстро генерируя тестовые данные в нужный вам момент времени.

Установка

!pip install faker

Пример

# Генерирует вымышленный адрес электронной почты
print (fake.email()) 
# Генерирует вымышленное название страны
print(fake.country()) 
# Генерирует вымышленное имя
print(fake.name()) 
# Генерирует вымышленный текст
print(fake.text()) 
# Генерирует вымышленную широту и долготу
print(fake.latitude(), fake.longitude())
# Генерирует вымышленный URL
print(fake.url()) 
# Генерирует вымышленный профиль
print(fake.profile())
# Генерирует случайное число
print(fake.random_number())

Результат

Библиотека может сгенерировать вымышленные данные по различным категориями. Подробнее можно почитать здесь.

4. EMOT

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

emot помогает переводить эмодзи и эмотиконы в слова. Подробнее о библиотеке можно почитать в Github-репозитории. Там же вы найдете большую коллекцию эмодзи и эмотиконов с их расшифровкой.

Установка

!pip install emot

Пример

# Импорт библиотек
import re
from emot.emo_unicode import UNICODE_EMO, EMOTICONS

# Функция для преобразования эмодзи в слова
def convert_emojis(text):
    for emot in UNICODE_EMO:
        text = text.replace(emot, "_".join(UNICODE_EMO[emot].replace(",","").replace(":","").split()))
    return text

# Пример
text1 = "Hilarious ?. The feeling of making a sale ?, The feeling of actually fulfilling orders ?"
convert_emojis(text1)

Результат

‘Hilarious face_with_tears_of_joy. The feeling of making a sale smiling_face_with_sunglasses, The feeling of actually fulfilling orders unamused_face’

Перевод эмотикона в слова

Пример

# Функция для преобразования эмотиконов в слова
def convert_emoticons(text):
    for emot in EMOTICONS:
        text = re.sub(u'('+emot+')', "_".join(EMOTICONS[emot].replace(",","").split()), text)
    return text

# Пример
text = "Hello :-) :-)"
convert_emoticons(text)

Результат

'Hello Happy_face_smiley Happy_face_smiley'

5. Chartify

Chartify — это библиотека визуализации. Ее цель — максимально упростить создание диаграмм для специалистов по данным. Библиотека поставляется с удобным синтаксисом и логическим форматированием данных (в отличие от других инструментов). Для создания быстрых и красивых диаграмм требуется меньше времени. Сама библиотека была написана в Spotify labs.

Ниже я приведу только один пример — с гистограммой. Почитать подробнее можно в документации и Github-репозитории

Установка

!pip install chartify

Пример

# Импорт необходимой библиотеки
import numpy as np
import pandas as pd
import chartify

# загрузка тестового набора данных из chartify
data = chartify.examples.example_data()
data.head()
# Расчет общего количества каждого фрукта
quantity_by_fruit = (data.groupby(‘fruit’)[‘quantity’].sum().reset_index())
ch = chartify.Chart(blank_labels=True, x_axis_type=’categorical’)
ch.set_title(“Vertical bar plot”)
ch.set_subtitle(“Automatically sorts by value counts.”)
ch.plot.bar(
 data_frame=quantity_by_fruit,
 categorical_columns=’fruit’,
 numeric_column=’quantity’)
ch.show()

Результат

Вертикальная гистограмма

Сохранить результаты можно, нажав на иконку в правом верхнем углу диаграммы.

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


Перевод статьи Dhilip Subramanian: Five Cool Python Libraries for Data Science