Validation result is sometimes incorrect when using group rules
@borchero ci sta già lavorando.
Dal 17/2/2026.
Valutazione
Questa issue non è ancora stata valutata.
Descrizione
In yesterday's PyData meetup in Zurich, one question prompted me to realize that we're incorrectly dealing with group rules and row-level rules: if a row-level rule removes a row which would make a group rule fail, we do not realize it. For example:
import dataframely as dy
import polars as pl
class DiagnosisSchema(dy.Schema):
invoice_id = dy.String(primary_key=True)
diagnosis = dy.String(primary_key=True, regex="^[A-Z]{3}$")
is_main = dy.Bool(nullable=False)
@dy.rule()
def exactly_one_main_diagnosis() -> pl.Expr:
return pl.col("is_main").sum() == 1
df = pl.DataFrame(
{
"invoice_id": ["A", "A", "A"],
"diagnosis": ["ABC", "ABD", "123"],
"is_main": [False, False, True],
}
)
good, _ = DiagnosisSchema.filter(df)
print(good)
results in
shape: (2, 3)
┌────────────┬───────────┬─────────┐
│ invoice_id ┆ diagnosis ┆ is_main │
│ --- ┆ --- ┆ --- │
│ str ┆ str ┆ bool │
╞════════════╪═══════════╪═════════╡
│ A ┆ ABC ┆ false │
│ A ┆ ABD ┆ false │
└────────────┴───────────┴─────────┘
which clearly violates the schema since we don't have a main diagnosis for the group.
- Lingua principale
- Python
- Stelle
- 618
- Fork
- 21
- Merge medio
- 14h 34m
- PR unite (30g)
- 7
Guida per i contributori
Nessuna guida per i contributori indicizzata per questo repository
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di Quantco/dataframely
-
Expose validation errors Aperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 76/100
Quantco/dataframely#402 · 3 commenti ·
-
Difficoltà 3/5 1-2 giorni Idoneità per principianti 62/100
Quantco/dataframely#357 · 1 reazione ·
-
Difficoltà 5/5 Più di una settimana Idoneità per principianti 25/100
Quantco/dataframely#309 · 4 commenti · 2 reazioni ·
-
Difficoltà 5/5 Più di una settimana Idoneità per principianti 45/100
Quantco/dataframely#295 · 3 commenti · 1 reazione ·
-
Difficoltà 5/5 Più di una settimana Idoneità per principianti 45/100
Quantco/dataframely#273 · 5 commenti · 1 reazione ·
Tutte le issue di Quantco/dataframely
Issue simili
-
bug
Difficoltà 2/5 1-3 ore Idoneità per principianti 75/100
stephrobert/dsoxlab#238 ·
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 75/100
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 75/100
sublimehq/package_control#1780 ·
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 65/100
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 70/100
nwg-piotr/nwg-displays#145 ·