def idxmin(self, axis: Axis=0) -> 'Series':
    "\n        Return index of first occurrence of minimum over requested axis.\n        NA/null values are excluded.\n\n        .. note:: This API collect all rows with minimum value using `to_pandas()`\n            because we suppose the number of rows with min values are usually small in general.\n\n        Parameters\n        ----------\n        axis : 0 or 'index'\n            Can only be set to 0 at the moment.\n\n        Returns\n        -------\n        Series\n\n        See Also\n        --------\n        Series.idxmin\n\n        Examples\n        --------\n        >>> psdf = ps.DataFrame({'a': [1, 2, 3, 2],\n        ...                     'b': [4.0, 2.0, 3.0, 1.0],\n        ...                     'c': [300, 200, 400, 200]})\n        >>> psdf\n           a    b    c\n        0  1  4.0  300\n        1  2  2.0  200\n        2  3  3.0  400\n        3  2  1.0  200\n\n        >>> psdf.idxmin()\n        a    0\n        b    3\n        c    1\n        dtype: int64\n\n        For Multi-column Index\n\n        >>> psdf = ps.DataFrame({'a': [1, 2, 3, 2],\n        ...                     'b': [4.0, 2.0, 3.0, 1.0],\n        ...                     'c': [300, 200, 400, 200]})\n        >>> psdf.columns = pd.MultiIndex.from_tuples([('a', 'x'), ('b', 'y'), ('c', 'z')])\n        >>> psdf\n           a    b    c\n           x    y    z\n        0  1  4.0  300\n        1  2  2.0  200\n        2  3  3.0  400\n        3  2  1.0  200\n\n        >>> psdf.idxmin()\n        a  x    0\n        b  y    3\n        c  z    1\n        dtype: int64\n        "
    min_cols = map((lambda scol: F.min(scol)), self._internal.data_spark_columns)
    sdf_min = self._internal.spark_frame.select(*min_cols).head()
    conds = ((scol == min_val) for (scol, min_val) in zip(self._internal.data_spark_columns, sdf_min))
    cond = reduce((lambda x, y: (x | y)), conds)
    psdf: DataFrame = DataFrame(self._internal.with_filter(cond))
    return cast(ps.Series, ps.from_pandas(psdf._to_internal_pandas().idxmin()))
Return index of first occurrence of minimum over requested axis.
NA/null values are excluded.

.. note:: This API collect all rows with minimum value using `to_pandas()`
    because we suppose the number of rows with min values are usually small in general.

Parameters
----------
axis : 0 or 'index'
    Can only be set to 0 at the moment.

Returns
-------
Series

See Also
--------
Series.idxmin

Examples
--------
>>> psdf = ps.DataFrame({'a': [1, 2, 3, 2],
...                     'b': [4.0, 2.0, 3.0, 1.0],
...                     'c': [300, 200, 400, 200]})
>>> psdf
   a    b    c
0  1  4.0  300
1  2  2.0  200
2  3  3.0  400
3  2  1.0  200

>>> psdf.idxmin()
a    0
b    3
c    1
dtype: int64

For Multi-column Index

>>> psdf = ps.DataFrame({'a': [1, 2, 3, 2],
...                     'b': [4.0, 2.0, 3.0, 1.0],
...                     'c': [300, 200, 400, 200]})
>>> psdf.columns = pd.MultiIndex.from_tuples([('a', 'x'), ('b', 'y'), ('c', 'z')])
>>> psdf
   a    b    c
   x    y    z
0  1  4.0  300
1  2  2.0  200
2  3  3.0  400
3  2  1.0  200

>>> psdf.idxmin()
a  x    0
b  y    3
c  z    1
dtype: int64
def idxmin(self, axis: Axis=0) -> 'Series':
    "\n        Return index of first occurrence of minimum over requested axis.\n        NA/null values are excluded.\n\n        .. note:: This API collect all rows with minimum value using `to_pandas()`\n            because we suppose the number of rows with min values are usually small in general.\n\n        Parameters\n        ----------\n        axis : 0 or 'index'\n            Can only be set to 0 at the moment.\n\n        Returns\n        -------\n        Series\n\n        See Also\n        --------\n        Series.idxmin\n\n        Examples\n        --------\n        >>> psdf = ps.DataFrame({'a': [1, 2, 3, 2],\n        ...                     'b': [4.0, 2.0, 3.0, 1.0],\n        ...                     'c': [300, 200, 400, 200]})\n        >>> psdf\n           a    b    c\n        0  1  4.0  300\n        1  2  2.0  200\n        2  3  3.0  400\n        3  2  1.0  200\n\n        >>> psdf.idxmin()\n        a    0\n        b    3\n        c    1\n        dtype: int64\n\n        For Multi-column Index\n\n        >>> psdf = ps.DataFrame({'a': [1, 2, 3, 2],\n        ...                     'b': [4.0, 2.0, 3.0, 1.0],\n        ...                     'c': [300, 200, 400, 200]})\n        >>> psdf.columns = pd.MultiIndex.from_tuples([('a', 'x'), ('b', 'y'), ('c', 'z')])\n        >>> psdf\n           a    b    c\n           x    y    z\n        0  1  4.0  300\n        1  2  2.0  200\n        2  3  3.0  400\n        3  2  1.0  200\n\n        >>> psdf.idxmin()\n        a  x    0\n        b  y    3\n        c  z    1\n        dtype: int64\n        "
    min_cols = map((lambda scol: F.min(scol)), self._internal.data_spark_columns)
    sdf_min = self._internal.spark_frame.select(*min_cols).head()
    conds = ((scol == min_val) for (scol, min_val) in zip(self._internal.data_spark_columns, sdf_min))
    cond = reduce((lambda x, y: (x | y)), conds)
    psdf: DataFrame = DataFrame(self._internal.with_filter(cond))
    return cast(ps.Series, ps.from_pandas(psdf._to_internal_pandas().idxmin()))