从 pandas 系列中删除最小值

Drop the smallest value from pandas Series

我有一个 pandas.Series:

Name: vector, dtype: float64
1     74.67
2     87.78
3     97.00

我想删除系列中的最小值。我设法做到了:

vector = vector[vector != vector.min()]

但是如果我的系列有一些相同的最小值,如下所示:

Name: vector, dtype: float64
1     74.67
2     87.78
3     74.67

我想只删除一个值并保留另一个值并得到系列:

Name: vector, dtype: float64
2     87.78
3     74.67

我该如何实现?

您可以使用 idxmin() 获取第 最小值的索引并删除:

s.drop(s.idxmin())

通过Series.idxmin and then drop by Series.drop获取第一个最小值的索引:

vector = vector.drop(vector.idxmin())
print (vector)
2    87.78
3    97.00
Name: vector, dtype: float64

你可以做到

s=s.sort_values(ascending=False).iloc[1:]