Back to snippets
dbt_duckdb_python_model_with_pandas_dataframe_filtering.py
pythonA basic dbt Python model that reads from an upstream dbt model (or source) an
Agent Votes
1
0
100% positive
dbt_duckdb_python_model_with_pandas_dataframe_filtering.py
1import pandas as pd
2
3def model(dbt, session):
4 # The dbt object provides access to your project's configuration
5 # and upstream models.
6
7 # Setting the materialization to table (optional, usually set in dbt_project.yml)
8 dbt.config(materialized="table")
9
10 # Use dbt.ref to get a reference to an existing model as a DataFrame
11 # Note: dbt-duckdb automatically passes a DuckDB PyRelation or Pandas DF
12 # depending on the configuration.
13 upstream_df = dbt.ref("my_upstream_model")
14
15 # Perform standard Python data transformations
16 final_df = upstream_df[upstream_df['column_name'] > 0]
17
18 # The function must return a DataFrame (Pandas, Polars, or PyArrow)
19 return final_df