CoolFace
Datasetpublic

eltociear/pandas-tasks-v1

pandas-tasks-v1 Task dataset for a pandas RL / eval environment, in the shape used by the Prime Intellect Environments Hub. 43 pandas DataFrame manipulation tasks across 6 categories. Each task gives the model one or more input frames and an instruction; the answer is the frame left in df, graded with pandas.testing.assert_frame_equal against a reference result. Grading is fully deterministic — no LLM judge, no external API. Category Tasks Covers transformation 10… See the full description on the dataset page: https://huggingface.co/datasets/eltociear/pandas-tasks-v1.

sourceHugging Facemitupdated 2mo agoView on Hugging Face
0likes36downloads
Dataset Card

pandas-tasks-v1

Task dataset for a pandas RL / eval environment, in the shape used by the Prime Intellect Environments Hub.

43 pandas DataFrame manipulation tasks across 6 categories. Each task gives the model one or more input frames and an instruction; the answer is the frame left in df, graded with pandas.testing.assert_frame_equal against a reference result. Grading is fully deterministic — no LLM judge, no external API.

CategoryTasksCovers
transformation10derived columns, conditional binning, projection, renaming, sorting, filtering, window ranks, string ops, top-n, casting
cleaning8missing values, duplicates, whitespace/case, group-wise imputation, date coercion, outliers, column drops
aggregation8sums, means, multi-key counts, named aggregations, per-group top row, broadcast transforms, nunique
joins6inner, left, full outer, anti, semi, lookup-with-default
timeseries6resampling, lags, rolling means, datetime component extraction, date filters, diffs
reshaping5melt, pivot_table, crosstab, distinct values, melt+filter

Fields

FieldDescription
task_idstable id, e.g. pandas-017
categoryone of the six above
promptthe natural-language instruction shown to the model
input_dataJSON object mapping frame name (df, or df1/df2 for joins) to a serialised frame
expected_outputthe serialised reference result

Frames are serialised as {"data": <to_json orient="split">, "dtypes": {col: dtype}}. The dtype map is carried explicitly because to_json alone loses dtypes (int32 returns as int64, datetimes as strings) and the reward compares dtypes.

How it was built, and why you can trust the answer key

Tasks are defined as (deterministic input frames, instruction, reference solution). The expected output is computed by executing the reference solution, never written by hand, so the answer key cannot drift from the instruction.

Every task is then independently verified:

  • the reference solution runs without error and returns a DataFrame
  • it is deterministic (executed twice, compared with assert_frame_equal)
  • the result is non-empty
  • the result is not identical to the input (identity tasks carry no signal)
  • both the result and every input frame reproduce exactly through the serialisation round-trip, dtypes included

All 43 tasks pass. The builder and its verifier are open: `build_tasks.py`.

Notes

Because grading is an exact frame comparison, column order, row order, the index and dtypes all matter. Prompts state the required index handling and any non-obvious dtype explicitly, so a correct solution is never ambiguous.