L’interface est localisée ; les présentations et documents des Skills sont traduits automatiquement par IA dans votre langue. Le code, les commandes, chemins et termes techniques restent en version originale, et le document de l’auteur fait foi.
Explorer les Skills
Données et recherche · SKILL.md

dataframe-workflows

dataframe-workflows

Use this Dask sub-skill for Dask DataFrame creation, CSV/Parquet/JSON/SQL IO, partitions and divisions, groupby/aggregation, joins/merge, shuffle, repartitioning, categorical/string/pyarrow handling, and dask-expr query planning/optimizer behavior.

Independent GitHub snapshot · Automated classification · Original documentation governs

Documentation de la Skill

GitHub

name: dataframe-workflows description: "Use this Dask sub-skill for Dask DataFrame creation, CSV/Parquet/JSON/SQL IO, partitions and divisions, groupby/aggregation, joins/merge, shuffle, repartitioning, categorical/string/pyarrow handling, and dask-expr query planning/optimizer behavior." disable-model-invocation: true metadata: disco-role: operating license: BSD 3-Clause

Dask DataFrame Workflows

Use this sub-skill when a task is about pandas-like tabular workflows with dask.dataframe or the dask_expr DataFrame implementation.

Route Here For

  • Creating DataFrames with dd.from_pandas, dd.from_map, dd.from_delayed, dd.from_dask_array, dd.read_csv, dd.read_parquet, dd.read_json, and SQL readers.
  • Planning CSV, Parquet, JSON, ORC, HDF, SQL, cloud-storage, and partitioned dataset reads/writes.
  • Reasoning about npartitions, divisions, known_divisions, set_index, repartition, shuffle, and partition sizing.
  • Implementing groupby, Aggregation, split_out, joins, merges, index-aware operations, and shuffle-aware query plans.
  • Handling meta, metadata inference, categorical known/unknown state, pandas/pyarrow string conversion, pyarrow-backed dtypes, and dataframe backends.
  • Inspecting or explaining dataframe query planning with optimize(), pprint(), explain(), projection/filter pushdown, partition pruning, and shuffle avoidance.

Route Elsewhere

  • Use ../configuration-diagnostics-cli/SKILL.md for generic Dask config mechanics, CLI commands, progress bars, profilers, install checks, and scheduler diagnostics.
  • Use ../array-workflows/SKILL.md for Dask Array creation, chunking, blockwise array operations, gufuncs, and array/dataframe conversion details beyond from_dask_array or to_dask_array routing.
  • Use ../bag-bytes-workflows/SKILL.md for bag-first text/JSON records, bytes, Avro, and object pipelines before conversion to dataframe.
  • Use ../core-graphs-schedulers/SKILL.md for generic task graphs, delayed, compute, persist, custom collection protocol, and scheduler selection.

Start With These References

  • references/api-reference.md for public DataFrame APIs, method selection, signatures, and dask-expr inspection surfaces.
  • references/io-and-data-formats.md for CSV, Parquet, JSON, SQL, cloud storage, backend dispatch, and format-specific pitfalls.
  • references/workflows.md for practical workflow recipes covering divisions, joins, groupby, repartitioning, meta, categoricals, and optimizer-aware planning.
  • references/troubleshooting.md for missing dependencies, pyarrow strings, unknown divisions, shuffles, metadata failures, categories, Parquet schema/filter issues, and import-time config.

Bundled Smoke Scripts

Run these from this sub-skill directory or pass their paths explicitly:

python scripts/dataframe_smoke.py --help
python scripts/dataframe_smoke.py
python scripts/dataframe_demo_smoke.py --help
python scripts/dataframe_demo_smoke.py

The scripts use tiny temporary or in-memory data, public dask.dataframe APIs, and local/synchronous computation. They do not depend on repository files or write persistent datasets unless you pass an output path.

Operating Rules

  • Keep dataframe pipelines lazy while defining work; call .compute() or .persist() only at execution boundaries or in small smoke checks.
  • Prefer Parquet for durable tabular datasets; use CSV/JSON for ingestion or interchange when schema and partitioning limits are acceptable.
  • Preserve or create useful divisions for repeated .loc, index joins, and groupby/apply on the index; avoid unnecessary full-data shuffles.
  • Provide explicit meta for user functions, custom readers, empty/heterogeneous partitions, or workflows where metadata inference is expensive or wrong.
  • Treat dataframe.query-planning, dataframe.convert-string, and dataframe backend config as import-time-sensitive choices; set them before importing dask.dataframe in fresh processes when behavior must be deterministic.
Skills enregistrées