{"id":14271,"url":"\/distributions\/14271\/click?bit=1&hash=51917511656265921c5b13ff3eb9d4e048e0aaeb67fc3977400bb43652cdbd32","title":"\u0420\u0435\u0434\u0430\u043a\u0442\u043e\u0440 \u043d\u0430\u0442\u0438\u0432\u043e\u043a \u0438 \u0441\u043f\u0435\u0446\u043f\u0440\u043e\u0435\u043a\u0442\u043e\u0432 \u0432 vc.ru \u2014 \u043d\u0430\u0439\u0434\u0438\u0441\u044c!","buttonText":"","imageUuid":""}

10 малоизвестных библиотек Python, которые стоит использовать программистам в 2023 году

Python долгое время был одним из самых популярных языков программирования. Он имеет широкий спектр хорошо известных и часто используемых библиотек, таких как NumPy, Pandas и Matplotlib. Однако, существует несколько малоизвестных библиотек Python, которые могут иметь большое значение в карьере программиста. В этой статье я попытался рассказать о 10 таких библиотеках, ведь действительно стоит задуматься о том, чтобы начать использовать их в 2023 году.

t.me/ai_machinelearning_big_data - огромное количество уроков, бесплатных нейросетей , Python гайдов и другого крутого материала в моем телеграм канале.

PyGWalker: PyGWalker упрощает рабочий процесс анализа и визуализации данных в Jupyter Notebook, превращая фрейм данных pandas (или фрейм данных polars) в пользовательский интерфейс в стиле Tableau для визуального исследования.

import pandas as pd import pygwalker as pyg #https://www.kaggle.com/code/asmdef/pygwalker-test/notebook df = pd.read_csv("hour.csv", parse_dates=['dteday']) df.head() pyg.walk(df)

Приведённый выше график показывает интерфейс, похожий на таблицу, использующий файл excel hour.csv, в котором содержится сумма скорости ветра за каждый месяц. Конечно, всегда можно поэкспериментировать с разными параметрами по осям X и Y.

SciencePlots: Создаёт профессиональные графики matplotlib для презентаций, исследовательских работ и т.д.

import matplotlib.pyplot as plt import scienceplots as sp plt.style.use(['fivethirtyeight','dark_background']) with plt.style.context('seaborn-paper'): plt.figure() plt.plot(x, y) plt.show()

Приведённый выше код использует комбинацию стилей ‘fivethirtyeight’ и ’dark_background’. Хотя лучше ознакомиться со списком уже доступных стилей (используя приведённый ниже код), иначе в программе легко могут возникнуть ошибки из-за отсутствия какого-либо стиля.

import matplotlib.pyplot as plt import numpy as np #plt.style.use(['science', 'notebook']) plt.style.available Output: ['Solarize_Light2', '_classic_test_patch', '_mpl-gallery', '_mpl-gallery-nogrid', 'bmh', 'classic', 'dark_background', 'fast', 'fivethirtyeight', 'ggplot', 'grayscale', 'seaborn']

CleverCSV: Устраняет ошибки синтаксического анализа при чтении CSV-файлов с помощью Pandas.

import clevercsv # Open CSV file and parse its contents with open('hour.csv', 'r') as file: csv_reader = clevercsv.reader(file, delimiter=',', quotechar='"') for row in csv_reader: print(row)

В этом примере функция clevercsv.reader() используется для чтения CSV-файла с именем 'hour.csv' из предыдущей задачи. Функция принимает несколько параметров, включая объект file, символ-разделитель (в данном случае запятую) и символ кавычки (в данном случае двойную кавычку).

Объект csv_reader, возвращаемый clevercsv.reader(), может быть повторён для извлечения каждой строки CSV-файла в виде списка. В этом примере каждая строка выводится на консоль.

Обратите внимание, что CleverCSV автоматически устраняет распространённые проблемы с CSV-файлами, такие как несоответствующие разделители полей или символы кавычек. Это делает его полезным инструментом для работы с беспорядочными или плохо отформатированными CSV-файлами.

fastparquet: Ускоряет ввод-вывод pandas в 5 раз.

import pandas as pd import fastparquet as fp # Create a sample dataframe data = {'name': ['Alice', 'Bob', 'Charlie'], 'age': [25, 30, 35]} df = pd.DataFrame(data) # Write the dataframe to a Parquet file fp.write('example.parquet', df) # Read the Parquet file into a new dataframe new_df = fp.ParquetFile('example.parquet').to_pandas() # Print the new dataframe print(new_df) Output: name age 0 Alice 25 1 Bob 30 2 Charlie 35

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

nbcommands: Позволяет легко выполнять поиск кода в Jupyter notebooks, а не выполнять это вручную.

Bottleneck: ускоряет работу методов NumPy в 25 раз. Особенно, если массив имеет значения NaN.

import bottleneck as bn import numpy as np # Create a 2D array of random values arr = np.random.rand(1000, 10) # Calculate the moving average of each row using bottleneck moving_avg = bn.move_mean(arr, window=3, axis=1) print(moving_avg) Output: [[ nan nan 0.28970504 ... 0.36931535 0.42605879 0.59029909] [ nan nan 0.49734916 ... 0.47646434 0.62247903 0.59207834] [ nan nan 0.61133785 ... 0.68879594 0.68071521 0.54268834] ... [ nan nan 0.40336392 ... 0.71474823 0.7382253 0.50349293] [ nan nan 0.63514901 ... 0.42061741 0.39216543 0.44065902] [ nan nan 0.17439254 ... 0.59518532 0.68540443 0.64765793]]

В этом коде библиотека bottleneck импортируется как bn. Затем создаётся 2D массив NumPy с 1000 строками и 10 столбцами со случайными значениями.

Далее функция move_mean используется из Bottleneck для вычисления скользящего среднего для каждой строки в массиве. Параметр window указывает количество значений, которые будут использоваться при вычислении каждого скользящего среднего, а параметр axis указывает ось, вдоль которой будет вычисляться скользящее среднее (в данном случае мы вычисляем его для каждой строки, поэтому устанавливаем axis=1).

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

multipledispatch: включает перегрузку функций в Python.

from multipledispatch import dispatch @dispatch(int, int) def add(x, y): return x + y @dispatch(float, float) def add(x, y): return x + y @dispatch(str, str) def add(x, y): return x + y print(add(1, 2)) # Output: 3 print(add(1.0, 2.0)) # Output: 3.0 print(add("Hello, ", "World!")) # Output: Hello, World! Output: 3 3.0 Hello, World!

В этом примере функция add определена и имеет три реализации, каждая из которых принимает разные типы входных данных. Декоратор @dispatch используется для указания того, какую реализацию использовать на основе типов ввода. Когда функция add вызывается с аргументами разных типов, multipledispatch автоматически выбирает правильную реализацию на основе сигнатуры типа аргументов. Это позволяет легко писать чистый и читаемый код, который может обрабатывать несколько типов входных данных.

Aquarel: Стили графиков matplotlib.

modelstore: Версия моделей машинного обучения для лучшего отслеживания.

Pigeon: Аннотирование данные щелчками кнопок в Jupyter notebook.

from pigeon import annotate import pandas as pd # Define the options for the labels options = ['Positive', 'Negative'] # Load your data df = pd.read_csv('healthcare-dataset-stroke-data.csv') # Annotate the data using Pigeon annotations = annotate(df['stroke'], options=options) # Save the annotations to a CSV file annotations_df = pd.DataFrame(annotations, columns=['annotations']) annotations_df.to_csv('annotations.csv', index=False)

В этом примере функция annotate импортируется из библиотеки Pigeon, параметры определены для меток, а данные загружены из файла .CSV. Функция annotate используется для того, чтобы предложить аннотатору пометить каждую категорию (в данном случае "stroke") набора данных одним из определённых параметров (Positive или Negative). Наконец, аннотации сохраняются в CSV-файл.

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

На этом заканчивается статья о 10 малоизвестных библиотеках Python, которые программисты должны использовать в 2023 году. Следите за обновлениями и за другими статьями, связанными с python, EDA, машинным обучением, глубоким обучением, вариантами использования ChatGPT и NLP, а также различными проектами.

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

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