def idxmin(self, axis=<NUM_LIT:0>, skipna=True, *args, **kwargs):
skipna = nv.validate_argmin_with_skipna(skipna, args, kwargs)<EOL>i = nanops.nanargmin(com.values_from_object(self), skipna=skipna)<EOL>if i == -<NUM_LIT:1>:<EOL><INDENT>return np.nan<EOL><DEDENT>return self.index[i]<EOL>
Return the row label of the minimum value.

If multiple values equal the minimum, the first row label with that
value is returned.

Parameters
----------
skipna : bool, default True
    Exclude NA/null values. If the entire Series is NA, the result
    will be NA.
axis : int, default 0
    For compatibility with DataFrame.idxmin. Redundant for application
    on Series.
*args, **kwargs
    Additional keywords have no effect but might be accepted
    for compatibility with NumPy.

Returns
-------
Index
    Label of the minimum value.

Raises
------
ValueError
    If the Series is empty.

See Also
--------
numpy.argmin : Return indices of the minimum values
    along the given axis.
DataFrame.idxmin : Return index of first occurrence of minimum
    over requested axis.
Series.idxmax : Return index *label* of the first occurrence
    of maximum of values.

Notes
-----
This method is the Series version of ``ndarray.argmin``. This method
returns the label of the minimum, while ``ndarray.argmin`` returns
the position. To get the position, use ``series.values.argmin()``.

Examples
--------
>>> s = pd.Series(data=[1, None, 4, 1],
...               index=['A', 'B', 'C', 'D'])
>>> s
A    1.0
B    NaN
C    4.0
D    1.0
dtype: float64

>>> s.idxmin()
'A'

If `skipna` is False and there is an NA value in the data,
the function returns ``nan``.

>>> s.idxmin(skipna=False)
nan