Skip to content
Back to skills

Data Pipeline

ASecurity

"Prepare tabular time-series data for PyTorch Forecasting v1

  • 247 stars
  • 0 votes
  • 0 copies
  • 1 view
  • Added September 9, 2026
datapythongotestingapi

Works with

  • api

Security analysis

A100/100

Pro scans all 4 files and shows the line behind each finding

Scanned September 9, 2026

npx -y skills add VectorSpaceLab/AREX-Skill --skill data-pipeline --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Data Pipeline?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Data Pipeline
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/vectorspacelab-data-pipeline-57684d4e/badge)](https://www.skillsdirectory.com/skills/vectorspacelab-data-pipeline-57684d4e)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: data-pipeline
description: "Prepare tabular time-series data for PyTorch Forecasting v1
  TimeSeriesDataSet, encoders, normalizers, dataloaders, serialization, and
  validation."
disable-model-invocation: true
metadata:
  disco-role: operating
license: MIT
---

# Data Pipeline Sub-skill

Use this sub-skill when the task is to turn a pandas-style tabular time-series DataFrame into PyTorch Forecasting 1.8.0 data objects for training, validation, testing, or prediction. The primary API is `pytorch_forecasting.TimeSeriesDataSet` and the v1 data utilities under `pytorch_forecasting.data`.

## Route here for

- Choosing and declaring `time_idx`, `target`, `group_ids`, static covariates, known-future covariates, unknown-future covariates, weights, lags, encoders, scalers, and target normalizers.
- Creating `TimeSeriesDataSet` objects for train/validation/test/predict workflows with `TimeSeriesDataSet.from_dataset()` or `TimeSeriesDataSet.from_parameters()`.
- Converting datasets to PyTorch dataloaders with `TimeSeriesDataSet.to_dataloader()` and understanding returned batch keys and shapes.
- Handling missing timesteps, categorical unknowns, target normalization, dataset serialization, and pre-flight DataFrame validation.

## Route away

- Model architecture selection, `.from_dataset()` model construction, checkpoint loading, and prediction API details belong in `../forecasting-models/SKILL.md`.
- Losses, metrics, quantiles, Optuna tuning, and learning-rate finder decisions belong in `../metrics-and-tuning/SKILL.md`.
- Experimental v2 `TimeSeries` and `EncoderDecoderTimeSeriesDataModule` workflows belong in `../api-v2-workflows/SKILL.md`.

## Bundled references and scripts

- Use [`references/time-series-dataset.md`](references/time-series-dataset.md) when you need the v1 `TimeSeriesDataSet` constructor contract, column-role map, train/validation/inference recipes, normalizer/encoder notes, dataloader shapes, serialization, and validation snippets.
- Use [`references/data-validation-and-troubleshooting.md`](references/data-validation-and-troubleshooting.md) when data construction fails or behaves unexpectedly; it maps symptoms to likely causes and concrete recovery steps for NaNs, gaps, short series, categorical unknowns, normalizers, and shape surprises.
- Use [`scripts/validate_timeseries_dataframe.py`](scripts/validate_timeseries_dataframe.py) before constructing a dataset from a CSV to catch missing required columns, duplicate group/time rows, target NaNs, role overlap, non-integer time indexes, sort issues, gaps, and too-short groups without importing PyTorch Forecasting.

## Minimal working pattern

```python
from pytorch_forecasting import TimeSeriesDataSet
from pytorch_forecasting.data import GroupNormalizer, NaNLabelEncoder

training = TimeSeriesDataSet(
    train_df,
    time_idx="time_idx",              # integer, increasing within each group
    target="sales",                  # continuous or categorical target column
    group_ids=["store", "sku"],      # columns that identify one series
    max_encoder_length=36,
    max_prediction_length=6,
    static_categoricals=["store", "sku"],
    time_varying_known_reals=["time_idx", "price", "promotion"],
    time_varying_unknown_reals=["sales"],
    target_normalizer=GroupNormalizer(groups=["store", "sku"], transformation="log1p"),
    categorical_encoders={"sku": NaNLabelEncoder(add_nan=True)},
)

validation = TimeSeriesDataSet.from_dataset(
    training,
    full_df,
    min_prediction_idx=train_df["time_idx"].max() + 1,
    stop_randomization=True,
)

train_loader = training.to_dataloader(train=True, batch_size=64, num_workers=0)
val_loader = validation.to_dataloader(train=False, batch_size=64, num_workers=0)
```

If a task starts from CSV, run the bundled validator first, then use the references above to construct the actual `TimeSeriesDataSet`.

Files in this skill

  • SKILL.md3.8 KB
  • references/data-validation-and-troubleshooting.md12.1 KB
  • references/time-series-dataset.md16.7 KB
  • scripts/validate_timeseries_dataframe.py22.4 KB

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.