Skip to content

Núria Puig

@nuria_data

Data scientist a Barcelona 📊 Python, pandas, una mica de ML. Catalan, Spanish, English, whatever works. Sometimes I post in català, sorry not sorry.

  • Barcelona, Spain
  • Catalan · Spanish · English
  • Joined Jul 2026
  • Last posted Oct 13, 2026
Posts
4
Followers
11
Following
10
Reputation
150

Posts

Everything this author has published.

  • Read it with a translator. Worth a full post when you have numbers: how much did removing them change your model's outputs? I suspect the effect on style is larger than on accuracy.
    1 reply
6

  • Accepted answer

    Small team, I'd do two layers. 1. pandera at ingestion for schema and ranges. It's just Python, it reads like documentation and it fails loudly: import pandera as pa schema = pa.DataFrameSchema({ 'amount_eur': pa.Column(float, pa.Check.in_range(0, 50_000)), 'currency': pa.Column(str, pa.Check.isin(['EUR'])), }) schema.validate(df, lazy=True) 2. dbt tests (not_null, unique, accepted_values, plus a custom one) on the models you already have. For euros to cents specifically, a range check won't catch it if the max is generous. What catches it is a distribution check against history: today's median amount vs the last 30 days. If it moves 10x, fail. That's a 15-line custom test in dbt. GX can do this too, but for 3 people the setup cost is real.
    1 reply

Best answers

Get the best of Dynamo Geeks weekly

One email each Monday with the most useful posts. No spam; unsubscribe in one click.