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

为何Pandas Series使用.loc[]与[]切片获取前n值结果不同?

Pandas Series两种切片结果不同的原因

这俩切片方式本质是位置索引和标签索引的区别,具体说:

  • [:n]是按元素位置切片:这里的n指的是「取前n个位置的元素」,从0开始计数,所以[:5]会取位置0到4的元素,刚好5个,对应索引标签0、1、2、3、4。
  • .loc[:n]是按索引标签切片:它会包含所有标签从起始到n的元素,包括标签n本身。你的Series用的是默认整数索引,n=5对应的就是标签为5的元素,所以.loc[:5]会把标签0到5的元素全取出来,自然多了索引5的'l'。

拿你的例子对比:

  • my_s[:5]输出的是位置0-4的5个元素,对应索引0到4;
  • my_s.loc[:5]输出的是标签0-5的6个元素,包含索引5的内容。

要是你的Series用了非连续整数或者非整数索引,这种差异会更突出。比如索引是[2,4,6,8],[:2]取前2个位置的元素(对应标签2、4),而.loc[:2]只会取标签≤2的元素(也就是标签2那一个)。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.12 07:10:11