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

Pandas中.iloc[0:1]与.iloc[0]的区别?切片1是排他还是包含?

Pandas中.iloc[0:1]与.iloc[0]的区别解析

切片的排他性

Pandas的.iloc采用左闭右开的切片规则,所以0:1里的1是排他的——只会选中索引为0的行,不会包含索引1的行。

返回类型的区别

  • df.iloc[0]:直接提取单行,返回的是Series类型,也就是一维序列,索引对应原DataFrame的列名,值是该行各列的内容。
  • df.iloc[0:1]:用切片语法选行,哪怕只选一行,返回的还是DataFrame类型,是二维表格结构,保留原DataFrame的列索引和行索引(此时行索引仅包含0)。

函数报错的原因

你碰到的报错,本质是目标函数要求传入参数为Series类型,但你用df.iloc[0:1]传入的是DataFrame,类型不匹配导致报错。而df.iloc[0]返回的正好是符合要求的Series,所以能正常运行函数。

小技巧:用切片得到Series

如果想用切片方式获取单行的Series,可以在切片后加.squeeze()方法:

df.iloc[0:1].squeeze()

这样就能把单行DataFrame压缩成Series,和df.iloc[0]的结果完全一致。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.14 03:26:12