You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Pointblank中实现行数量范围校验而非精确匹配?

pointblank实现DataFrame行数范围校验

问题背景

使用pointblank的row_count_match()仅能校验DataFrame行数是否等于固定值,无法直接实现行数大于/小于某个阈值或行数介于两个值之间的校验需求。

解决方案

可以通过pointblank的custom_fn()函数自定义校验逻辑,实现行数范围的校验。以下是具体实现示例:

1. 校验行数大于10000行

import pointblank as pb

(
    pb.Validate(data=pb.load_dataset(dataset="small_table"), label="行数校验示例")
    .custom_fn(
        fn=lambda df: len(df) > 10_000,
        label="行数需大于10000行"
    )
    .interrogate()
)

2. 校验行数介于20000到100000行之间

import pointblank as pb

(
    pb.Validate(data=pb.load_dataset(dataset="small_table"), label="行数校验示例")
    .custom_fn(
        fn=lambda df: 20_000 <= len(df) <= 100_000,
        label="行数需介于20000到100000行之间"
    )
    .interrogate()
)

3. 同时添加多个行数校验规则

若需同时校验多个条件,可链式调用多个custom_fn():

import pointblank as pb

(
    pb.Validate(data=pb.load_dataset(dataset="small_table"), label="多行数规则校验")
    .custom_fn(
        fn=lambda df: len(df) > 10_000,
        label="行数大于10000行"
    )
    .custom_fn(
        fn=lambda df: 20_000 <= len(df) <= 100_000,
        label="行数介于20000到100000行之间"
    )
    .interrogate()
)

说明

  • custom_fn()接收一个lambda函数(或自定义函数),函数参数为待校验的DataFrame,返回布尔值表示校验是否通过。
  • 通过label参数可为每个校验规则添加描述,便于在interrogate()生成的报告中识别规则含义。

内容的提问来源于stack exchange,提问作者Adrien Pacifico

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.11 21:42:08