You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何编写函数计算Pandas DataFrame指定索引到最后一行的间隔行数

实现方案

你可以直接利用Pandas索引内置的get_loc()方法获取指定索引的位置,通过简单计算即可得到结果,代码简洁且符合Pandas的惯用写法:

import pandas as pd

# 初始DataFrame定义
d = {'col1': [1, 2, 3, 4, 5], 'col2': [6, 7, 8, 9, 10]}
df = pd.DataFrame(data=d)
df.index=['A', 'B', 'C', 'D', 'E']

def getNrRows(fromIndex):
    # 获取传入索引对应的下标位置(从0开始计数)
    start_pos = df.index.get_loc(fromIndex)
    # 间隔行数 = 总行数 - 起始下标 - 1
    return len(df) - start_pos - 1

验证测试

print(getNrRows("C")) # 输出 2,符合示例要求
print(getNrRows("A")) # 输出 4
print(getNrRows("E")) # 输出 0

注意事项

  • 如果传入的索引值不存在于DataFrame的索引中,方法会自动抛出KeyError,符合常规错误处理逻辑,无需额外判断。
  • 该实现仅适用于索引值唯一的场景,如果你的DataFrame存在重复索引,需要额外调整逻辑适配。

内容的提问来源于stack exchange,提问作者edn

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.29 11:24:03