理解这个pandas系列切片a [:: - 1]

时间:2016-03-07 23:48:48

标签: python pandas

请帮助我理解这个特殊切片如何颠倒系列的顺序。我经常无法使用[]来理解切片。有没有一个页面可以解释它。我想我理解切片如何在pandas数据帧上使用iloc和loc。这是一个有效的例子

a=pd.Series(range(0,10))
a[::-1]

3 个答案:

答案 0 :(得分:2)

这就是它定义的内容!

语法ls[x:y:z]表示"制作ls的副本,从索引x到索引z,每个z个元素& #34;

当z为正时,这很明显:

[1,2,3,4,5][::2] -> [1,3,5]

(请注意xy的默认设置为0len(ls)

但负面的z被定义为完全相同:

[1,2,3,4,5][::-2] -> [5,3,1]

答案 1 :(得分:1)

切片就像range()一样,切片的最后一个参数是step值,因此如果指定了它,它会告诉它按特定数字步进。如果未指定其他参数,则返回其默认值

一个例子就是这样:

>>> [1, 2][::]
[1, 2]

表示整个列表,所以最后一个参数只是告诉python从列表的末尾开始,步骤为负1(索引位置不是数字)

如果它们被指定,则从切片的末尾开始,然后从那里向后退步

答案 2 :(得分:1)

切片的表示法以索引开头,以索引结束。 :首先查看第二个:的左侧,第一个-1所说的是什么。 1,2,3,4,5,6然后说回去,所以如果你想象你有一行数字:,那么1是你开始的地方,你一直走到最后6点那时我们刚刚覆盖了第一个-1现在下一部分是6,5,4,3,2,1,它表示通过倒退来制作新列表,以便生成+----+--------------------------+ | id | customer | +----+--------------------------+ | 1 | Dent, Arthur | | 2 | Prefect, Ford | | 3 | Beeblebrox, Zaphod | +----+--------------------------+ 。希望这很清楚。