我想做的但argmax
只给了我第一个值True
:
Se = pd.Series(np.arange(6), index=list("abcdef"))
#a 0
#b 1
#c 2
#d 3
#e 4
#f 5
#dtype: int64
mask = (Se % 2 == 0)
#a True
#b False
#c True
#d False
#e True
#f False
#dtype: bool
mask.argmax()
#'a'
我必须做的是:
Se[mask].index
# Index(['a', 'c', 'e'], dtype='object')
这并不太方便,但我必须实例化第Series
一个,这会降低我的工作效率。能够做到这一点会很好:
(pd.Series(np.arange(6), index=list("abcdef")) % 2 == 0).argmax()
我的问题是:我怎样才能做到这一点argmax
?如果这不能用 来完成argmax
,我可以用不同的功能来做pandas
吗?