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

如何在Pandas DataFrame中遍历指定行?以50-100行为例

筛选DataFrame指定行进行遍历的方法

嘿,我来帮你搞定这个问题!要遍历DataFrame的第50到100行,其实只需要先对DataFrame做切片,再结合你已经在用的iterrows()就行,这里分几种常见情况给你说明:

一、按行位置(第50到100行)筛选(最常用)

因为Pandas是0-based索引(也就是第一行索引是0),所以第50行对应的索引是49,第100行对应的索引是99。我们可以用iloc来按位置切片,然后再遍历:

# 切片范围是49到100(左闭右开,刚好覆盖索引49到99,即第50到100行)
for index, row in df.iloc[49:100].iterrows():
    # 这里写你的行处理逻辑,比如获取某列的值
    print(row['your_column_name'])

这种方法最可靠,不管你的DataFrame索引是不是连续整数,iloc都会严格按行的物理位置来取。

二、如果是按索引值筛选(比如索引是连续整数)

如果你的DataFrame用的是默认的连续整数索引,且你想筛选索引值从50到100的行(注意这和“第50到100行”不是一回事,除非索引从1开始),可以用loc:

# loc是包含两端的,所以50:100会取索引50到100的所有行
for index, row in df.loc[50:100].iterrows():
    # 处理逻辑
    pass

三、更高效的遍历方式(可选)

iterrows()虽然好用,但因为每次都会把行转成Series,在数据量大的时候效率不算高。如果追求速度,可以试试itertuples(),它会返回命名元组,访问速度更快:

for row in df.iloc[49:100].itertuples(index=True, name='RowData'):
    # 访问列可以直接用.row_column_name(注意列名不能有空格)
    print(row.your_column_name)
    # 或者用索引访问,index=True时第一个元素是行索引,第二个是第一列
    print(row[1])

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.09 12:07:47