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

Python pandas:筛选以指定字符开头行及之后所有行的方法

筛选无列名单列DataFrame中指定起始行到末尾的数据

先复现场景

import pandas as pd

# 模拟从PDF提取的无列名单列DataFrame
sample_data = ["random text", "irrelevant line", "hellodddd", "content after target", "final line"]
df = pd.DataFrame(sample_data)

核心实现代码

# 定义要匹配的起始字符
target_start = "hello"

# 定位第一个符合条件的行索引
start_index = df[df[0].str.startswith(target_start)].index[0]

# 切片获取目标区间数据
filtered_result = df.loc[start_index:]

# 输出结果
print(filtered_result)

关键逻辑说明

  • 因为DataFrame没有列名,直接用df[0]访问唯一的列
  • str.startswith(target_start)生成布尔序列,标记每行是否以指定字符开头
  • .index[0]提取第一个匹配行的索引(若有多个匹配行,仅取第一个作为起始点)
  • loc[start_index:]通过索引切片直接获取从起始行到末尾的所有数据

容错处理(可选)

如果不确定是否存在匹配行,可添加判断避免报错:

match_rows = df[df[0].str.startswith(target_start)]
if not match_rows.empty:
    start_index = match_rows.index[0]
    filtered_result = df.loc[start_index:]
else:
    # 无匹配时的处理,比如返回空DataFrame或原数据
    filtered_result = pd.DataFrame()

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.22 22:15:38