DSPROGLIB Telegram 6594
🔴 Dataframely — проверка схем и валидация для Polars

Dataframely — это мощная библиотека для валидации данных в Polars DataFrame с поддержкой как runtime-проверок, так и статической типизации.

🔳 Особенность — удобная работа с комплексными схемами, строгими типами и кастомными правилами валидации.

Пример определения схемы пользователя:
import polars as pl
import dataframely as dy

class UserSchema(dy.Schema):
user_id = dy.Int64(primary_key=True, min=1, nullable=False)
age = dy.Int64(nullable=False)
email = dy.String(nullable=False, regex=r"^[^@]+@[^@]+\.[^@]+$")
score = dy.Float64(nullable=False, min=0.0, max=100.0)

@dy.rule()
def age_in_range() -> pl.Expr:
return pl.col("age").is_between(18, 80, closed="both")


— Объявляем типы и ограничения для колонок (в том числе primary key)
— Добавляем регулярные выражения для проверки email
— Пишем кастомные правила через декоратор @dy.rule() (например, проверка возраста)

Проверка данных и автоматическое приведение типов:
validated_data = UserSchema.validate(user_data, cast=True)


cast=True помогает автоматически привести типы колонок к нужным (например, если числа загружены как строки).

🔛 Мягкая валидация с подробным анализом ошибок

Dataframely не просто выбрасывает ошибку, а даёт подробный отчёт о невалидных строках:
good_data, failure_info = UserSchema.filter(user_data, cast=True)

print("Количество валидных строк:", len(good_data))
print("Статистика ошибок:", failure_info.counts())
print("Анализ совмещённых ошибок:", failure_info.cooccurrence_counts())
print("Не прошедшие проверку данные:", failure_info.invalid())


🔛 Почему это круто:
— Типобезопасность и проверка на этапе выполнения
— Интеграция с Polars — современным и быстрым DataFrame-фреймворком
— Гибкие правила валидации (включая regex и кастомные функции)
— Подробный разбор ошибок с возможностью работать с валидными и невалидными строками отдельно

🔛 Ссылка на проект: https://clc.to/turByA

Библиотека дата-сайентиста #буст
Please open Telegram to view this post
VIEW IN TELEGRAM



tgoop.com/dsproglib/6594
Create:
Last Update:

🔴 Dataframely — проверка схем и валидация для Polars

Dataframely — это мощная библиотека для валидации данных в Polars DataFrame с поддержкой как runtime-проверок, так и статической типизации.

🔳 Особенность — удобная работа с комплексными схемами, строгими типами и кастомными правилами валидации.

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

import polars as pl
import dataframely as dy

class UserSchema(dy.Schema):
user_id = dy.Int64(primary_key=True, min=1, nullable=False)
age = dy.Int64(nullable=False)
email = dy.String(nullable=False, regex=r"^[^@]+@[^@]+\.[^@]+$")
score = dy.Float64(nullable=False, min=0.0, max=100.0)

@dy.rule()
def age_in_range() -> pl.Expr:
return pl.col("age").is_between(18, 80, closed="both")


— Объявляем типы и ограничения для колонок (в том числе primary key)
— Добавляем регулярные выражения для проверки email
— Пишем кастомные правила через декоратор @dy.rule() (например, проверка возраста)

Проверка данных и автоматическое приведение типов:
validated_data = UserSchema.validate(user_data, cast=True)


cast=True помогает автоматически привести типы колонок к нужным (например, если числа загружены как строки).

🔛 Мягкая валидация с подробным анализом ошибок

Dataframely не просто выбрасывает ошибку, а даёт подробный отчёт о невалидных строках:
good_data, failure_info = UserSchema.filter(user_data, cast=True)

print("Количество валидных строк:", len(good_data))
print("Статистика ошибок:", failure_info.counts())
print("Анализ совмещённых ошибок:", failure_info.cooccurrence_counts())
print("Не прошедшие проверку данные:", failure_info.invalid())


🔛 Почему это круто:
— Типобезопасность и проверка на этапе выполнения
— Интеграция с Polars — современным и быстрым DataFrame-фреймворком
— Гибкие правила валидации (включая regex и кастомные функции)
— Подробный разбор ошибок с возможностью работать с валидными и невалидными строками отдельно

🔛 Ссылка на проект: https://clc.to/turByA

Библиотека дата-сайентиста #буст

BY Библиотека дата-сайентиста | Data Science, Machine learning, анализ данных, машинное обучение




Share with your friend now:
tgoop.com/dsproglib/6594

View MORE
Open in Telegram


Telegram News

Date: |

Content is editable within two days of publishing In handing down the sentence yesterday, deputy judge Peter Hui Shiu-keung of the district court said that even if Ng did not post the messages, he cannot shirk responsibility as the owner and administrator of such a big group for allowing these messages that incite illegal behaviors to exist. A few years ago, you had to use a special bot to run a poll on Telegram. Now you can easily do that yourself in two clicks. Hit the Menu icon and select “Create Poll.” Write your question and add up to 10 options. Running polls is a powerful strategy for getting feedback from your audience. If you’re considering the possibility of modifying your channel in any way, be sure to ask your subscribers’ opinions first. Private channels are only accessible to subscribers and don’t appear in public searches. To join a private channel, you need to receive a link from the owner (administrator). A private channel is an excellent solution for companies and teams. You can also use this type of channel to write down personal notes, reflections, etc. By the way, you can make your private channel public at any moment. Read now
from us


Telegram Библиотека дата-сайентиста | Data Science, Machine learning, анализ данных, машинное обучение
FROM American