Skip to content

[TUTORIAL] Advanced CTable: Schemas, Mutations, & Nullable Data #718

Description

@FrancescAlted

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:

  1. Dataclass Schema API: Defining structured schemas using dataclasses with typed fields (int32, float64, string, struct).
  2. Nullable Columns: Enabling nulls on columns, understanding null masks, using NullPolicy.ZERO vs. NullPolicy.IGNORE, and filtering for null/non-null entries.
  3. Computed Columns: Defining columns whose values are computed on the fly from other columns via UDFs.
  4. 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.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions