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

Python中如何对pandas dataframe按3行间隔筛选保留指定行

实现方案

你可以直接用pandas的位置索引筛选实现需求,以下是几种可行的写法:

方法1:直接用iloc切片(最简便)

你需要保留的行对应默认索引(从0开始计数)的2、5、8位,从索引2开始、步长为3取行即可:

import pandas as pd

# 构造示例DataFrame,你可以替换成自己的df
df = pd.DataFrame({
    'COL1': ['A','D','G','J','M','P','S','V','Y'],
    'COL2': ['B','E','G','K','N','Q','T','W','Z'],
    'COL3': ['C','F','I','L','O','R','U','X','A']
})

# 核心筛选代码
result = df.iloc[2::3]

iloc的切片规则为[起始位置:结束位置:步长],结束位置留空代表取到DataFrame最后一行。

方法2:适配非连续索引的场景

如果你的DataFrame索引不是默认的连续整数,可以先重置索引再筛选:

result = df.reset_index(drop=True).iloc[2::3]

方法3:用模运算筛选

和上述逻辑等价,筛选索引除以3余数为2的行即可:

result = df[df.index % 3 == 2]

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.24 02:06:03