Validation result is sometimes incorrect when using group rules
@borchero ya está trabajando en esto.
Desde el 17/2/2026.
Evaluación
Este issue todavía no se ha evaluado.
Descripción
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.
- Lenguaje dominante
- Python
- Estrellas
- 618
- Forks
- 21
- Merge medio
- 14 h 34 min
- PR fusionados (30 d)
- 7
Guía de contribución
No hay ninguna guía de contribución indexada para este repositorio
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de Quantco/dataframely
-
Expose validation errors Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 76/100
Quantco/dataframely#402 · 3 comentarios ·
-
Adding `sorted` in `dy.Column` Abierto
Dificultad 3/5 1-2 días Aptitud para principiantes 62/100
Quantco/dataframely#357 · 1 reacción ·
-
Dificultad 5/5 Más de una semana Aptitud para principiantes 25/100
Quantco/dataframely#309 · 4 comentarios · 2 reacciones ·
-
Dificultad 5/5 Más de una semana Aptitud para principiantes 45/100
Quantco/dataframely#295 · 3 comentarios · 1 reacción ·
-
Dificultad 5/5 Más de una semana Aptitud para principiantes 45/100
Quantco/dataframely#273 · 5 comentarios · 1 reacción ·
Todos los issues de Quantco/dataframely
Issues similares
-
agent-ready documentation needs-triage
Dificultad 1/5 1-3 horas Aptitud para principiantes 88/100
-
documentation
Dificultad 1/5 Menos de una hora Aptitud para principiantes 91/100
-
workflow-status page template still says reusable workflows are "triggered only by workflow_call:" Abierto
Dificultad 1/5 Menos de una hora Aptitud para principiantes 92/100
-
Add https://search.jeremyh.xyz/ Abiertoinstance instance add
Dificultad 1/5 Menos de una hora Aptitud para principiantes 72/100
searxng/searx-instances#939 · 1 comentario ·
-
area-deployment area-integrations triage:bot-seen
Dificultad 2/5 Medio día Aptitud para principiantes 86/100