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

使用Python Pandas的iloc引用Excel行号时为何需减2而非减1

写法原因说明

核心是pd.read_excel()的默认表头配置,导致Excel行号和DataFrame数据行索引的偏移量为2,而非你以为的1:

  • pd.read_excel()默认使用header=0参数,会自动把Excel的第1行(Excel行号为1)识别为DataFrame的列名,这一行不算在DataFrame的数据行索引序列里
  • 此时DataFrame中索引为iloc[0]的第一行数据,对应的是Excel的第2行,因此Excel行号转DataFrame的iloc索引的计算规则为:Excel行号 - 2
  • 你需要取Excel第516行及以后的数据,对应的起始iloc索引就是516-2=514,所以代码里的写法是符合当前读表配置的正确逻辑

补充说明:如果你读表时手动指定了header=None参数(即不把Excel的任何行作为列名,所有行都按数据行读取),此时Excel行号1对应iloc[0],才需要使用516-1作为起始索引。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.24 07:24:07