【Pandas】pandas Series idxmin
Pandas2.2 Series
Computations descriptive stats
方法 | 描述 |
---|---|
Series.align(other[, join, axis, level, …]) | 用于将两个 Series 对齐,使其具有相同的索引 |
Series.case_when(caselist) | 用于根据条件列表对 Series 中的元素进行条件判断并返回相应的值 |
Series.drop([labels, axis, index, columns, …]) | 用于从 Series 中删除指定的行或列(对于 Series 来说,通常是删除行) |
Series.droplevel(level[, axis]) | 用于从多层索引(MultiIndex)的 Series 中删除指定的索引层级 |
Series.drop_duplicates(*[, keep, inplace, …]) | 用于从 Series 中删除重复的值 |
Series.duplicated([keep] ) | 用于检测 Series 中的重复值 |
Series.equals(other) | 用于比较两个 Series 对象是否完全相等的方法 |
Series.first(offset) | 用于根据日期偏移量(offset )选择 Series 中时间序列数据的初始部分 |
Series.head([n] ) | 用于返回 Series 的前 n 个元素 |
Series.idxmax([axis, skipna]) | 用于返回 Series 中最大值的索引 |
Series.idxmin([axis, skipna]) | 用于返回 Series 中最小值的索引 |
pandas.Series.idxmin
当然,pandas.Series.idxmin([axis, skipna])
方法用于返回 Series
中最小值的索引。这个方法在数据处理和分析中非常有用,特别是在需要快速找到最小值位置时。
详细描述
pandas.Series.idxmin([axis, skipna])
方法的参数:
axis
(可选): 指定轴,对于Series
对象,这个参数通常不需要指定,因为Series
只有一个轴。默认值为0
。skipna
(可选): 布尔值,表示是否跳过 NaN 值。默认值为True
。
返回值
- 返回一个标量,表示最小值的索引。
示例代码
import pandas as pd
import numpy as np
# 创建一个示例 Series
data = [10, 20, 30, 40, 50, np.nan, 60, 70, 80, 90]
index = pd.date_range('2023-01-01', periods=10, freq='D')
series = pd.Series(data, index=index)
print("Original Series:")
print(series)
# 使用 idxmin 方法获取最小值的索引(默认 skipna=True)
min_index = series.idxmin()
print("\nIndex of minimum value (skipna=True):", min_index)
# 使用 idxmin 方法获取最小值的索引(skipna=False)
min_index_no_skipna = series.idxmin(skipna=False)
print("\nIndex of minimum value (skipna=False):", min_index_no_skipna)
结果输出
Original Series:
2023-01-01 10.0
2023-01-02 20.0
2023-01-03 30.0
2023-01-04 40.0
2023-01-05 50.0
2023-01-06 NaN
2023-01-07 60.0
2023-01-08 70.0
2023-01-09 80.0
2023-01-10 90.0
Freq: D, dtype: float64
Index of minimum value (skipna=True): 2023-01-01 00:00:00
Index of minimum value (skipna=False): NaT
解释
series.idxmin()
默认跳过 NaN 值,返回最小值10
的索引2023-01-01
。series.idxmin(skipna=False)
不跳过 NaN 值,由于存在 NaN 值,返回nan
。
注意事项
- 如果
Series
中有多个相同的最小值,idxmin
返回第一个出现的最小值的索引。 - 如果
Series
中所有值都是 NaN,idxmin(skipna=True)
返回nan
。
示例:多个相同的最小值
# 创建一个包含多个相同最小值的 Series
data = [10, 10, 30, 40, 50, 60, 70, 80, 90]
index = pd.date_range('2023-01-01', periods=9, freq='D')
series_multiple_min = pd.Series(data, index=index)
print("\nSeries with multiple minimum values:")
print(series_multiple_min)
# 使用 idxmin 方法获取最小值的索引
min_index_multiple = series_multiple_min.idxmin()
print("\nIndex of minimum value (multiple min values):", min_index_multiple)
结果输出
Series with multiple minimum values:
2023-01-01 10
2023-01-02 10
2023-01-03 30
2023-01-04 40
2023-01-05 50
2023-01-06 60
2023-01-07 70
2023-01-08 80
2023-01-09 90
Freq: D, dtype: int64
Index of minimum value (multiple min values): 2023-01-01 00:00:00
解释
series_multiple_min.idxmin()
返回第一个出现的最小值10
的索引2023-01-01
。