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

如何高效访问DataFrame中的指定行列范围元素块?

Pandas快速提取DataFrame元素块的方案

嵌套for循环逐元素提取完全浪费了Pandas的向量运算优势,必然速度极慢。直接用iloc或loc就能高效完成需求,具体用法如下:

1. 基于位置索引:iloc

如果你的行/列是按默认的0开始整数位置计数:

  • 提取行100到200(包含两端)、列100到200的块,注意Python切片左闭右开的特性,结束索引要+1:
subset_df = df.iloc[100:201, 100:201]

如果你的行/列是从1开始计数(类似Excel编号逻辑),对应位置索引要减1:

subset_df = df.iloc[99:200, 99:200]

2. 基于标签索引:loc

如果你的DataFrame行/列有自定义标签(比如字符串、非连续数字),用loc更直接,它的切片是两端都包含的:

  • 假设行标签和列标签都是1到1000,提取目标块:
subset_df = df.loc[100:200, 100:200]

这两种方法都是直接操作DataFrame的底层数据块,运算效率远高于循环逐元素处理,1000×1000规模的DataFrame能瞬间完成提取。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.13 06:21:01