Warning: preg_grep(): Compilation failed: quantifier does not follow a repeatable item at offset 165 in /var/www/tg-me/post.php on line 75
Библиотека дата-сайентиста | Data Science, Machine learning, анализ данных, машинное обучение | Telegram Webview: dsproglib/6553 -
Telegram Group & Telegram Channel
🚨 Pointblank — мощный инструмент для валидации данных

Если вы дата-сайентист, аналитик или инженер данных — эта библиотека точно заслуживает вашего внимания.

С интуитивным и цепочечным API, Pointblank позволяет:
— запускать точечные проверки качества данных,
— отслеживать критичные ошибки,
— автоматически формировать интерактивные отчёты,
— интегрироваться с Slack и другими системами.

Идеально для пайплайнов на pandas, polars или ibis.

Пример базовой валидации:
import pointblank as pb

validation = (
pb.Validate(data=pb.load_dataset("small_table"))
.col_vals_gt(columns="d", value=100) # Значения > 100
.col_vals_le(columns="c", value=5) # Значения <= 5
.col_exists(columns=["date", "date_time"]) # Проверка наличия колонок
.interrogate() # Выполнить валидацию
)

validation.get_tabular_report().show()


Реальный пример на Polars:
import pointblank as pb
import polars as pl

sales_data = pl.read_csv("sales_data.csv")

validation = (
pb.Validate(
data=sales_data,
tbl_name="sales_data",
label="Валидация реальных данных",
thresholds=(0.01, 0.02, 0.05),
actions=pb.Actions(
critical="Критичная ошибка качества данных на шаге {step} ({time})."
),
final_actions=pb.FinalActions(
pb.send_slack_notification("https://hooks.slack.com/services/your/webhook/url")
),
brief=True,
)
.col_vals_between(columns=["price", "quantity"], left=0, right=1000)
.col_vals_not_null(columns=pb.ends_with("_id"))
.col_vals_regex(columns="email", pattern="^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\\.[a-zA-Z]{2,}$")
.col_vals_in_set(columns="status", set=["pending", "shipped", "delivered", "returned"])
.conjointly(
lambda df: pb.expr_col("revenue") == pb.expr_col("price") * pb.expr_col("quantity"),
lambda df: pb.expr_col("tax") >= pb.expr_col("revenue") * 0.05
)
.interrogate()
)

# HTML-отчёт можно открыть в браузере:
validation.get_tabular_report().show("browser")


🛠 Установка:
pip install pointblank
# или с нужным бэкендом:
pip install "pointblank[pl]" # с Polars
pip install "pointblank[pd]" # с Pandas
pip install "pointblank[duckdb]" # с DuckDB (через Ibis)
pip install "pointblank[postgres]" # с PostgreSQL


Под капотом

Pointblank работает с Polars, Pandas и Ibis (через Narwhals) — то есть вы можете валидировать данные не только из CSV, но и из баз данных (PostgreSQL, MySQL, DuckDB и др.).

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

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



tg-me.com/dsproglib/6553
Create:
Last Update:

🚨 Pointblank — мощный инструмент для валидации данных

Если вы дата-сайентист, аналитик или инженер данных — эта библиотека точно заслуживает вашего внимания.

С интуитивным и цепочечным API, Pointblank позволяет:
— запускать точечные проверки качества данных,
— отслеживать критичные ошибки,
— автоматически формировать интерактивные отчёты,
— интегрироваться с Slack и другими системами.

Идеально для пайплайнов на pandas, polars или ibis.

Пример базовой валидации:

import pointblank as pb

validation = (
pb.Validate(data=pb.load_dataset("small_table"))
.col_vals_gt(columns="d", value=100) # Значения > 100
.col_vals_le(columns="c", value=5) # Значения <= 5
.col_exists(columns=["date", "date_time"]) # Проверка наличия колонок
.interrogate() # Выполнить валидацию
)

validation.get_tabular_report().show()


Реальный пример на Polars:
import pointblank as pb
import polars as pl

sales_data = pl.read_csv("sales_data.csv")

validation = (
pb.Validate(
data=sales_data,
tbl_name="sales_data",
label="Валидация реальных данных",
thresholds=(0.01, 0.02, 0.05),
actions=pb.Actions(
critical="Критичная ошибка качества данных на шаге {step} ({time})."
),
final_actions=pb.FinalActions(
pb.send_slack_notification("https://hooks.slack.com/services/your/webhook/url")
),
brief=True,
)
.col_vals_between(columns=["price", "quantity"], left=0, right=1000)
.col_vals_not_null(columns=pb.ends_with("_id"))
.col_vals_regex(columns="email", pattern="^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\\.[a-zA-Z]{2,}$")
.col_vals_in_set(columns="status", set=["pending", "shipped", "delivered", "returned"])
.conjointly(
lambda df: pb.expr_col("revenue") == pb.expr_col("price") * pb.expr_col("quantity"),
lambda df: pb.expr_col("tax") >= pb.expr_col("revenue") * 0.05
)
.interrogate()
)

# HTML-отчёт можно открыть в браузере:
validation.get_tabular_report().show("browser")


🛠 Установка:
pip install pointblank
# или с нужным бэкендом:
pip install "pointblank[pl]" # с Polars
pip install "pointblank[pd]" # с Pandas
pip install "pointblank[duckdb]" # с DuckDB (через Ibis)
pip install "pointblank[postgres]" # с PostgreSQL


Под капотом

Pointblank работает с Polars, Pandas и Ibis (через Narwhals) — то есть вы можете валидировать данные не только из CSV, но и из баз данных (PostgreSQL, MySQL, DuckDB и др.).

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

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

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




Share with your friend now:
tg-me.com/dsproglib/6553

View MORE
Open in Telegram


Библиотека дата сайентиста | Data Science Machine learning анализ данных машинное обучение Telegram | DID YOU KNOW?

Date: |

The Singapore stock market has alternated between positive and negative finishes through the last five trading days since the end of the two-day winning streak in which it had added more than a dozen points or 0.4 percent. The Straits Times Index now sits just above the 3,060-point plateau and it's likely to see a narrow trading range on Monday.

That growth environment will include rising inflation and interest rates. Those upward shifts naturally accompany healthy growth periods as the demand for resources, products and services rise. Importantly, the Federal Reserve has laid out the rationale for not interfering with that natural growth transition.It's not exactly a fad, but there is a widespread willingness to pay up for a growth story. Classic fundamental analysis takes a back seat. Even negative earnings are ignored. In fact, positive earnings seem to be a limiting measure, producing the question, "Is that all you've got?" The preference is a vision of untold riches when the exciting story plays out as expected.

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


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