如何获取 Pandas Series 中最小值的位置?


要获取 Pandas Series 对象中最小值的位置,我们可以使用一个名为 argmin() 的函数。

argmin() 是 Pandas Series 构造函数的方法,用于从 Series 中获取最小值的行位置。argmin() 方法的输出是一个整数值。如果 Pandas Series 对象包含 NaN 值,则 argmin() 方法将忽略这些 NaN 值并识别最小的数值。

如果最小值位于多个索引位置,则第一个出现的数值位置将作为输出。

示例 1

# import pandas package
import pandas as pd
import numpy as np

# create a pandas series
s = pd.Series(np.random.randint(1,100, 10))
print(s)

# Apply argmin function
print('Output of argmin:', s.argmin())

解释

让我们创建一个包含 10 个介于 1 到 100 之间的随机整数值的 Pandas Series 对象,然后应用 argmin 函数来获取 Series 对象中最小值的位置。

最初,我们导入了 NumPy 包用于创建一系列随机整数值。

输出

0 76
1 58
2 42
3 81
4  7
5 85
6 75
7 25
8 61
9 57
dtype: int32

Output of argmin: 4

对于以下示例,Pandas Series 对象的 argmin() 方法返回了一个整数值“4”,该整数值表示给定 Series 对象中最小值的位置。

示例 2

import pandas as pd

# creating range sequence of dates
dates = pd.date_range('2021-06-01', periods=6, freq='D')

#creating pandas Series with date index
s = pd.Series([43,21,40,54,10,23], index= dates)
print (s)

# Apply argmin function
print('Output of argmin:', s.argmin())

解释

让我们使用一个带有日期范围索引标签的整数列表创建另一个 Pandas Series 对象。之后,在 Series 对象“s”的数据上应用 argmin() 方法以获取给定 Series 对象中最小值的位置。

输出

2021-06-01 43
2021-06-02 21
2021-06-03 40
2021-06-04 54
2021-06-05 10
2021-06-06 23
Freq: D, dtype: int64

Output of argmin: 4

此示例中 argmin() 方法的输出是整数值“4”,这意味着索引标签“2021-06-05”处的数值在给定 Series 对象中具有最小值。

更新于: 2022年3月9日

4K+ 浏览量

开启您的 职业生涯

通过完成课程获得认证

立即开始
广告