def argmin(df, column: str, groups: Union[str, List[str]] = None):
if groups is None:<EOL><INDENT>df = df[df[column] == df[column].min()].reset_index(drop=True)<EOL><DEDENT>else:<EOL><INDENT>group_min = df.groupby(groups)[column].transform('<STR_LIT>')<EOL>df = (df<EOL>.loc[df[column] == group_min, :]<EOL>.drop_duplicates()<EOL>.reset_index(drop=True)<EOL>)<EOL><DEDENT>return df<EOL>
Keep the row of the data corresponding to the minimal value in a column

---

### Parameters

*mandatory :*
- `column` (str): name of the column containing the value you want to keep the minimum

*optional :*
- `groups` (*str or list(str)*): name of the column(s) used for 'groupby' logic
(the function will return the argmax by group)
---

### Example

**Input**

| variable |   wave  |  year    | value |
|:--------:|:-------:|:--------:|:-----:|
|   toto   |  wave 1 |  2014    |  300  |
|   toto   |  wave 1 |  2015    |  250  |
|   toto   |  wave 1 |  2016    |  450  |

```cson
argmin:
  column: 'year'
]
```

**Output**

| variable |   wave  |  year    | value |
|:--------:|:-------:|:--------:|:-----:|
|   toto   |  wave 1 |  2015    |  250  |