如何找到Pandas 系列中某个值的最后出现索引?例如,假设我有一个如下所示的系列:s = pd.Series([False, False, True, True, False, False])我想找到一个True值的最后一个索引(即索引 3),你会怎么做?
3 回答
繁花如伊
TA贡献2012条经验 获得超12个赞
s = pd.Series([False, False, True, True, False, False]) s.where(s).last_valid_index()
输出:
3
使用@user3483203 示例
s = pd.Series(['dog', 'cat', 'fish', 'cat', 'dog', 'horse'], index=[*'abcdef'])s.where(s=='cat').last_valid_index()
输出
'd'
茅侃侃
TA贡献1842条经验 获得超21个赞
np.argmax如果您正在查看布尔数组,则可以在反向系列上使用:
>>> len(s) - np.argmax(s[::-1].values) - 1
3
如果您正在寻找另一个值,只需使用 ==
这是一个查找最后一次出现的示例dog:
>>> s = pd.Series(['dog', 'cat', 'fish', 'cat', 'dog', 'horse'])
>>> len(s) - np.argmax(s[::-1].values=='dog') - 1
4
添加回答
举报
0/150
提交
取消