如何找到与熊猫系列中的某个值匹配的最后出现索引?

Joh*_*mar 6 python pandas

如何找到熊猫系列中某个值的最后出现索引?

例如,假设我有一个如下系列:

s = pd.Series([False, False, True, True, False, False])
Run Code Online (Sandbox Code Playgroud)

我想找到一个True值的最后一个索引(即索引3),您将如何处理?

WeN*_*Ben 6

使用nonzero

s.nonzero()[0][-1]
Out[66]: 3
Run Code Online (Sandbox Code Playgroud)


Sco*_*ton 5

用途last_valid_index

s = pd.Series([False, False, True, True, False, False])
s.where(s==True).last_valid_index()
Run Code Online (Sandbox Code Playgroud)

输出:

3
Run Code Online (Sandbox Code Playgroud)

使用@ user3483203示例

s = pd.Series(['dog', 'cat', 'fish', 'cat', 'dog', 'horse'], index=[*'abcdef'])
s.where(s=='cat').last_valid_index()
Run Code Online (Sandbox Code Playgroud)

输出量

'd'
Run Code Online (Sandbox Code Playgroud)

  • `s.where(s).last_valid_index()`:-) (3认同)