pyspark.pandas.Series.idxmin

Series. idxmin ( skipna : bool = True ) → Union [ Tuple , Any ] [source]

返回最小值的行标签。

如果多个值等于最小值,则返回具有该值的第一个行标签。

Parameters
skipna bool, default True

排除NA/null值。如果整个Series都是NA,结果将是NA。

Returns
Index

最小值的标签。

Raises
ValueError

如果 Series 为空。

另请参阅

Series.idxmax

返回值的最大值的首次出现的索引 标签

注释

此方法是 ndarray.argmin 的 Series 版本。此方法返回最小值的标签,而 ndarray.argmin 返回位置。要获取位置,请使用 series.values.argmin()

示例

>>> s = ps.Series(data=[1, None, 4, 0],
...               index=['A', 'B', 'C', 'D'])
>>> s
A    1.0
B    NaN
C    4.0
D    0.0
dtype: float64
>>> s.idxmin()
'D'

如果 skipna 为 False 且数据中存在 NA 值,函数将返回 nan

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

在多重索引的情况下,你会得到一个元组:

>>> index = pd.MultiIndex.from_arrays([
...     ['a', 'a', 'b', 'b'], ['c', 'd', 'e', 'f']], names=('first', 'second'))
>>> s = ps.Series(data=[1, None, 4, 0], index=index)
>>> s
first  second
a      c         1.0
       d         NaN
b      e         4.0
       f         0.0
dtype: float64
>>> s.idxmin()
('b', 'f')

如果多个值等于最小值,则返回具有该值的第一个行标签。

>>> s = ps.Series([1, 100, 1, 100, 1, 100], index=[10, 3, 5, 2, 1, 8])
>>> s
10      1
3     100
5       1
2     100
1       1
8     100
dtype: int64
>>> s.idxmin()
10