Task: Data-transform-reshape (source dataset: Auto-Tables)

Given a table, predict what python pandas transformation may be needed on the given input table. Valid choices for transformation include: {"stack", "wide_to_long", "transpose", "pivot", "explode", "ffill", "subtitles"}. Note that each of these is a common Python Pandas operator. Some transformations can have parameters. Each transformation and its parameters are describe as follows.
 
- stack: collapse homogeneous cols into rows.
@param (int): stack_start_idx: zero-based starting column index of the homogeneous column-group.
@param (int): stack_end_idx: zero-based ending column index of the homogeneous column-group.
 
- wide_to_long: collapse repeating col-groups into rows.
@param (int): wide_to_long_start_idx: zero-based starting column index of the repeating col-groups.
@param (int): wide_to_long_end_idx: zero-based ending column index of the repeating col-groups.
 
- transpose: convert rows to columns and vice versa.
 
- pivot: pivot repeating row-groups into cols.
@param (int): pivot_row_frequency: frequency of repeating row-groups.
 
- ffill: fill structurally empty cells in tables.
@param (int): ffill_end_idx: zero-based ending column index of the columns to be filled.
 
- explode: convert composite cells into atomic values
@param (int): explode_column_idx: zero-based column index of the column to be exploded.
 
- subtitle: convert table subtitles into a column.
 
OUTPUT the predicted transformation name along with its parameters for the given INPUT table in a JSON, e.g., {"transformation": "stack", "stack_start_idx": 1, "stack_end_idx": 5}. If the input table needs multi-step transformations (e.g, ffill followed by stack), list JSON of each transformation sequentially in a list, e.g., [{"transformation": "ffill", "ffill_end_idx": 1}, {"transformation": "stack", "stack_start_idx": 1, "stack_end_idx": 5}]. No explanation is needed.

## Input:
| Category   | Sub Category      |   MML 01 Hrs |   MML 01 $ |   MML 02 Hrs |   MML 02 $ |   MML 03 Hrs |   MML 03 $ |   MML 04 Hrs |   MML 04 $ |
|:-----------|:------------------|-------------:|-----------:|-------------:|-----------:|-------------:|-----------:|-------------:|-----------:|
| Category 1 | Sub Category 1-1  |          115 |       3680 |          162 |       5184 |          178 |       4272 |          164 |       3936 |
| Category 1 | Sub Category 1-2  |           44 |       1408 |           18 |        144 |            0 |          0 |          182 |       7280 |
| Category 1 | Sub Category 1-3  |          164 |       1312 |          167 |       4008 |           30 |        720 |          200 |       8000 |
| Category 1 | Sub Category 1-4  |          182 |       7280 |           22 |        704 |          181 |       2896 |           51 |       1224 |
| Category 1 | Sub Category 1-5  |           28 |       1120 |           97 |       3880 |           14 |        336 |            3 |         48 |
| Category 1 | Sub Category 1-6  |          189 |       3024 |          116 |       4640 |           29 |        928 |          136 |       5440 |
| Category 1 | Sub Category 1-7  |          106 |       4240 |          177 |       4248 |           12 |         96 |           84 |        672 |
| Category 1 | Sub Category 1-8  |           80 |        640 |           76 |        608 |          179 |       5728 |          191 |       7640 |
| Category 1 | Sub Category 1-9  |           15 |        480 |           15 |        480 |           12 |        288 |          172 |       2752 |
| Category 1 | Sub Category 1-10 |           55 |        880 |          133 |       5320 |           39 |        624 |           42 |        336 |
| Category 2 | Sub Category 2-1  |           68 |       2720 |           16 |        512 |           54 |       1728 |          164 |       6560 |
| Category 2 | Sub Category 2-2  |           87 |       2784 |          108 |       1728 |          137 |       4384 |           94 |       1504 |

## Output:


source: notebook
label: operator: wide_to_long
wide_to_long_start_idx: 2
wide_to_long_end_idx: 9