PYTHONOMANIA
273 subscribers
195 photos
3 videos
1 file
616 links
Откройте для себя мир Python в PYTHONOMANIA!

Идеально подходит как для начинающих, так и для опытных разработчиков. Присоединяйтесь к нам, чтобы достичь совершенства в Python!

Сайт: https://pythonomania.github.io/
Download Telegram
📱Mendeleev.

Этот пакет предоставляет удобный Python API для доступа к различным свойствам элементов, ионов и изотопов в периодической таблице элементов.

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

#Python #ПериодическаяТаблица #Программирование #Наука #Химия #Визуализация #DataScience #pandas #bokeh #mendeleev #Менделеев

📱Ссылка на репозиторий:
https://github.com/lmmentel/mendeleev
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3🔥33
📱Ryp.

ryp
— это легковесная, но мощная библиотека для Python, которая открывает новые возможности для работы с R.

✅Она позволяет легко запускать R-код прямо внутри Python, обеспечивая мгновенную передачу больших наборов данных (NumPy/pandas/polars) между Python и R без записи на диск.

✅С ryp можно интерактивно работать в обоих языках одновременно, что упрощает анализ данных и ускоряет рабочие процессы.

❓Почему ryp?

В отличие от популярной библиотеки rpy2, ryp обеспечивает:

🔘Повышенную стабильность и простоту API.
🔘Интерактивные вывод R-переменных, как в самом R.
🔘Полнофункциональный терминал R внутри Python.
🔘Построение графиков прямо в Jupyter с пакетом svglite.
🔘Молниеносное преобразование данных с Arrow.
🔘Поддержку всех типов данных NumPy, pandas и polars.
🔘Полноценную поддержку Windows.

#DataScience #Python #RStats #PythonInR #BigData #MachineLearning #DataVisualization #Jupyter #NumPy #pandas #polars #Arrow

📱Ссылка на репозиторий:
https://github.com/Wainberg/ryp
Please open Telegram to view this post
VIEW IN TELEGRAM
2👍4🔥2
📱Pandera.

Pandera
— проект от Union.ai, предоставляющий гибкий API для валидации данных в объектах, похожих на DataFrame, чтобы сделать обработку данных более читаемой и надежной.

🔹Что умеет Pandera:

🔘Определяйте схему данных один раз и используйте её для валидации разных типов DataFrame: pandas, polars, dask, modin, pyspark.

🔘Проверяйте типы и свойства колонок DataFrame или значения Series.

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

🔘Парсите данные для стандартизации этапов предобработки.

🔘Интегрируйте Pandera с вашими пайплайнами через декораторы функций.

🔘Определяйте модели DataFrame с помощью синтаксиса, похожего на pydantic, и проверяйте данные через аннотации типов.

🔘Создавайте данные из схем для тестирования на основе свойств с помощью pandas-структур.

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

🔘Интегрируйтесь с такими инструментами Python, как pydantic, fastapi и mypy.

#Python #DataValidation #Pandera #Pandas #DataScience #OpenSource #FastAPI #Pydantic

📱Ссылка на репозиторий:
https://github.com/unionai-oss/pandera
Please open Telegram to view this post
VIEW IN TELEGRAM
⚡3👍3🔥2
📱Aiopandas.

aiopandas — это легковесное расширение для Pandas, добавляющее асинхронную поддержку в map, apply, applymap, aggregate и transform.

🔹Ключевые возможности:

🔘Полностью совместим с Pandas — просто замените import pandas as pd на import aiopandas as pd.

🔘Автоматическое асинхронное выполнение с управляемой конкуренцией (max_parallel).

🔘Встроенная обработка ошибок — можно настроить поднятие исключений, игнорирование или логирование.

🔘Поддержка tqdm для отслеживания прогресса в реальном времени.

🔻Пример:
import aiopandas as pd
import asyncio

df = pd.DataFrame({'x': range(10)}) # Пример DataFrame

async def f(x):
await asyncio.sleep(0.1 * x) # Симуляция асинхронных операций
return x * 2

df['y'] = await df.x.amap(f, max_parallel=5) # Асинхронное преобразование
print(df)


✅Теперь обработка данных выполняется асинхронно с контролируемым параллелизмом!

#Python #Pandas #aiopandas #AsyncIO #BigData #DataScience #ParallelProcessing #AsyncProgramming

📱Ссылка на репозиторий:
https://github.com/telekinesis-inc/aiopandas
Please open Telegram to view this post
VIEW IN TELEGRAM
1🔥3👍2
📱PyFunctional.

PyFunctional
— мощная Python-библиотека для работы с потоками данных в функциональном стиле!

🔹Возможности:

🔘Цепочки операций: seq(1, 2, 3).map(...).filter(...).reduce(...).

🔘Поддержка чтения/записи файлов: text, csv, json, jsonl, sqlite, сжатые форматы.

🔘Параллельное выполнение через pseq.

🔘Полное покрытие тестами и стабильный CI.

🔘Вдохновлена Scala, Apache Spark и LINQ.

#Python #PyFunctional #DataPipeline #FunctionalProgramming #BigData #DataProcessing #SQLite #Pandas #DataEngineering #PythonTips #OpenSource #DevTools

📱Ссылка на репозиторий:
https://github.com/EntilZha/PyFunctional
Please open Telegram to view this post
VIEW IN TELEGRAM
1👍2🔥2
📱LibrePythonista.

LibrePythonista
— это расширение для LibreOffice Calc, которое позволяет запускать Python-код прямо из ячеек.

🔹Возможности:

🔘Запуск Python-кода прямо в ячейке.

🔘Построение графиков и диаграмм.

🔘Работа с DataFrame и Series.

🔘Автоматизация задач.

🔘Поддержка кастомных функций.

🔘Встроенный pip для установки библиотек.


✅Всё выполняется локально, без отправки данных в облако — конфиденциальность на первом месте.

#LibrePythonista #LibreOffice #Python #DataAnalysis #Pandas #Matplotlib #NumPy #Calc #OpenSource #Automation #PythonTools #SpreadsheetMagic

📱Ссылка на репозиторий:
https://github.com/Amourspirit/python_libre_pythonista_ext
Please open Telegram to view this post
VIEW IN TELEGRAM
143
📱hvPlot.

hvPlot — высокоуровневая библиотека визуализации данных для Python.

hvPlot — это удобный и мощный API для построения графиков, созданный на основе знакомого интерфейса .plot из Pandas и расширенный инновационным .interactive API для лёгкого добавления интерактивности.

❓Почему hvPlot?

🔘Работает с популярными источниками данных: Pandas, Polars, XArray, Dask, Streamz, Intake, GeoPandas, NetworkX и другими.

🔘Поддерживает несколько бэкендов построения графиков: Bokeh, Matplotlib, Plotly.

🔘Объединяет возможности экосистемы HoloViz в едином и простом API.

🔘Подходит для быстрых исследований, построения отчётов и создания интерактивных приложений.

🔻Пример использования:
import numpy as np
import pandas as pd

idx = pd.date_range('1/1/2000', periods=1000)
df = pd.DataFrame(np.random.randn(1000, 4), index=idx, columns=list('ABCD')).cumsum()

import hvplot.pandas # подключаем hvPlot для Pandas
df.hvplot() # строим график


#Python #DataViz #Visualization #DataScience #Pandas #Matplotlib #Bokeh #Plotly #hvPlot #HoloViz #GeoPandas #XArray #Polars #Dask

📱Ссылка на репозиторий:
https://github.com/holoviz/hvplot
Please open Telegram to view this post
VIEW IN TELEGRAM
2🔥3👍2⚡1
📱Riffq.

riffq — это инструмент на Python и Rust, который позволяет делать из ваших данных и кода полноценную базу данных с интерфейсом PostgreSQL.

🔹Возможности:

🔘Wire-протокол PostgreSQL (simple + extended) реализован на Rust для скорости и многопоточности.

🔘SQL-запросы перенаправляются в Python (DuckDB, Polars, Pandas и др.).

🔘Поддержка pg_catalog (совместимость с клиентами Postgres).

🔘Подключение к внешним источникам (CRM, аналитические БД) и объединение их в единый SQL-интерфейс.

🔘Сервинг DataFrame как виртуальных таблиц.

🔘Программируемый движок федеративных запросов.

🔻Примеры использования:

🔘Поднять Pandas DataFrame как PostgreSQL-таблицу для BI-инструментов.

🔘Построить federated query engine из нескольких API и БД.

🔘Реализовать фронтенд для data lake.

🔘Экспонировать динамические ML feature-stores для обучения и продакшн-инференса.

#Python #Rust #PostgreSQL #DataEngineering #DuckDB #Polars #Pandas #BI #FederatedQuery #riffq

📱Ссылка на репозиторий:
https://github.com/ybrs/riffq
Please open Telegram to view this post
VIEW IN TELEGRAM
1331
📱Transtractor.

Transtractor — это библиотека на Rust с Python‑API для извлечения транзакций из PDF‑выписок банка в CSV или DataFrame, без какого‑либо AI.

❓Что умеет:

🔘Парсит PDF‑выписки, вытягивая структурированные данные о транзакциях (дата, описание, суммы, баланс) в стандартный CSV‑формат или словарь для Pandas.

🔘Работает по конфигам: готовые профили для поддерживаемых банков + возможность подключать свои my_config.json, не трогая ядро парсинга.

🚀Установка и запуск:

🔘Установка из PyPI:
  pip install transtractor


🔘Базовое использование:
  from transtractor import Parser
parser = Parser()
parser.parse("statement.pdf").to_csv("statement.csv")

data = parser.parse("statement.pdf").to_pandas_dict()


Далее данные можно анализировать в Pandas/Excel.

🔻Конфиги и расширение:

🔘Список поддерживаемых банков и примеры конфигов — в документации на Read the Docs и на сайте Transtractor.

🔘Свои конфиги подключаются так:
  parser.load("my_config.json")
parser.parse("statement.pdf").to_csv("statement.csv")


#Transtractor #Rust #Python #PDF #BankStatements #FinTech #DataExtraction #Pandas #PersonalFinance #OpenSource

📱Ссылка на репозиторий:
https://github.com/transtractor/transtractor-lib
Please open Telegram to view this post
VIEW IN TELEGRAM
13👍1
📱Nitro-pandas.

nitro-pandas — это pandas‑обёртка поверх Polars: пишете привычный pandas‑код, а под капотом крутится Rust‑движок Polars с 5–10x ускорением.

❓Зачем:

🔘Не переписывать тысячи строк кода: меняете import pandas as pd на import nitro_pandas as npd — всё остальное работает.

🔘Lazy evaluation: read_csv_lazy() + .query() + .collect() оптимизируют запросы до выполнения.

🔘Fallback: если метод ещё не реализован в Polars, автоматически вызывается pandas.

🔻Что не так же:

🔘Polars не разрешает смешанные типы в одном столбце — всё приводится к общему типу.

🔘Нет inplace=True: операции всегда возвращают новый DataFrame.

pip install nitro-pandas


#python #pandas #polars #nitropandas #datascience #performance

📱Ссылка на репозиторий:
https://github.com/Wassim17Labdi/nitro-pandas
Please open Telegram to view this post
VIEW IN TELEGRAM
1🔥3👍2
📱PySuricata.

PySuricata
- это быстрый и легковесный инструмент для исследовательского анализа данных (EDA) на Python, построенный на потоковых алгоритмах.

Главная проблема большинства инструментов профилирования данных — они требуют загрузки всего датасета в оперативную память и выполняют множество тяжелых прогонов. PySuricata считывает данные всего за один проход (single pass), сохраняя фиксированный расход RAM независимо от количества строк в таблице.

🔹Главные фичи и преимущества:

🔘Потоковая архитектура: Данные обрабатываются чанками. Обработка 1 миллиона строк требует не больше памяти, чем 20 тысяч, что позволяет анализировать датасеты, превышающие объем RAM.

🔘Глубокая интеграция с Arrow и экосистемой: Нативно работает с pandas, polars (включая LazyFrame), файлами Parquet, Arrow IPC (.arrow, .feather) и запросами DuckDB без промежуточной материализации всего фрейма.

🔘Честная математика и вероятностные структуры: Для моментов распределений (среднее, дисперсия, асимметрия) используется потоковый алгоритм Уэлфорда/Пебая, для подсчета уникальных значений — скетчи KMV, а для частых элементов — алгоритм Мизры-Гриса. В отчете честно указываются границы погрешностей приближенных оценок.

🔘Автономный HTML-отчет в один файл: На выходе получается единый self-contained HTML-файл со встроенными SVG, стилями и скриптами, который можно пересылать по почте и открывать без подключения к интернету.

🔘Контроль качества и дрейфа данных в CI/CD:

✔️summarize() — отдает чистый версионированный JSON со метриками;

✔️compare() — рассчитывает смещение признаков между двумя выборками;

✔️pysuricata check / официальный GitHub Action — блокирует пайплайн (exit code $\ne 0$), если превышен процент пропусков или обнаружен дрейф данных.

🚀Быстрый старт:

import pandas as pd
from pysuricata import profile

df = pd.read_csv("large_dataset.csv")

# Анализируем данные и сохраняем автономный отчет
profile(df).save_html("report.html")


Анализ файлов напрямую (без загрузки в DataFrame):


from pysuricata import profile

# Потоковое чтение Parquet-файла без перегрузки RAM
report = profile("data/events.parquet")
report.save_html("events_report.html")


📦Установка:

pip install pysuricata
# или через uv:
uv add pysuricata


#Python #PySuricata #DataScience #EDA #Pandas #Polars #DuckDB #DataEngineering #MachineLearning #OpenSource #DevTools

📱Ссылка на репозиторий:
https://github.com/alvarodiez20/pysuricata
Please open Telegram to view this post
VIEW IN TELEGRAM
3🔥3👍21