doc/tutorials/13.ctable-basics.ipynb covers introductory CTable creation and basic queries. Since that tutorial was written, CTable has gained significant tabular capabilities:
- Python dataclass schema definitions with
blosc2.field() (src/blosc2/schema.py)
- Dynamic column mutations (
append_column, del table[col], column renaming)
- Computed columns using UDF expressions
- Nullable column semantics via
NullPolicy (src/blosc2/ctable_nulls.py)
Suggested Work
Create a new Jupyter Notebook at doc/tutorials/13b.ctable-advanced.ipynb (or complement tutorial 13) covering:
- Dataclass Schema API: Defining structured schemas using dataclasses with typed fields (
int32, float64, string, struct).
- Nullable Columns: Enabling nulls on columns, understanding null masks, using
NullPolicy.ZERO vs. NullPolicy.IGNORE, and filtering for null/non-null entries.
- Computed Columns: Defining columns whose values are computed on the fly from other columns via UDFs.
- Column Operations: Appending new columns to existing on-disk tables, removing columns, and column renaming without rewriting whole tables.
Bonus points: try to use a real dataset (< 1 MB compressed) that you can make public.
doc/tutorials/13.ctable-basics.ipynb covers introductory CTable creation and basic queries. Since that tutorial was written, CTable has gained significant tabular capabilities:
blosc2.field()(src/blosc2/schema.py)append_column,del table[col], column renaming)NullPolicy(src/blosc2/ctable_nulls.py)Suggested Work
Create a new Jupyter Notebook at
doc/tutorials/13b.ctable-advanced.ipynb(or complement tutorial 13) covering:int32,float64,string,struct).NullPolicy.ZEROvs.NullPolicy.IGNORE, and filtering for null/non-null entries.Bonus points: try to use a real dataset (< 1 MB compressed) that you can make public.