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

Python pandas如何通过起止标识不硬编码选取指定行列数据

Pandas指定起止标识提取行范围数据方案

实现逻辑

  • 不硬编码固定行号写死提取规则,通过配置起止位置或起止标识值做切片,后续调整提取范围只需要修改对应参数即可,维护成本更低
  • 利用pandas标签切片特性匹配首尾标识,保留Name、Score两列生成独立的新DataFrame

实现代码

import pandas as pd

name_dict = {
    'Name': ['a','b','c','d', 'e'],
    'Score': ['0.90(subject to approval)',80,95,20,10]
}
df = pd.DataFrame(name_dict)

# 提取范围参数,后续调整范围只改这里就行
start_pos = 1
end_pos = 3
# 也可以直接指定起止标识值,比如 start_flag = 'b'、end_flag = 'd'

# 从对应位置匹配Name列的标识值
start_flag = df.loc[start_pos, 'Name']
end_flag = df.loc[end_pos, 'Name']

# 切片提取目标范围数据,保留需要的两列
new_df = df.set_index('Name').loc[start_flag:end_flag, ['Score']].reset_index()

print("提取得到的新DataFrame:")
print(new_df)

运行输出

提取得到的新DataFrame:
  Name Score
0    b    80
1    c    95
2    d    20

注意事项

.loc的标签切片规则是首尾边界都包含,和位置切片iloc的左闭右开规则不同,使用时注意边界匹配。如果不想改动DataFrame索引,也可以用布尔索引实现相同效果:

new_df = df[(df['Name'] >= start_flag) & (df['Name'] <= end_flag)][['Name', 'Score']]

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.27 06:34:04