关于python内置数据结构和第三方库数据结构的切片索引易混内容

本文探讨了Python内置数据结构与第三方库如pandas的区别。重点解释了列表与Series索引方式的不同,尤其是负索引的应用场景及其可能引发的问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

学习python有一些时间了,经常遇到各式各样的bug,总体来说bug产生的原因其实无非是因为表达歧义。要知道对于计算机来说语言是传达给他们的指令。基于二进制算法的计算机cpu能够判断的只有是否两个概念。无论多么复杂的程序最终分解到机器能理解的程度都是是或否。

所以接下来记录一个我自己遇到的初学者混淆的东西。python内置数据结构和第三方库如pandas,numpy支持的数据结构之间的区别。

python内置list,列表。是Python中最基本的数据结构。序列中的每个元素都分配一个数字 - 它的位置,或索引,第一个索引是0,第二个索引是1,依此类推。

list=[1,2,3]
list[-1]
上述是列表的定义和切片操作。[-1]表示list的最后一个也就是list[2]=list[-1]

pandas, 知名金融应用方面的第三方库。其中一个数据室Series,序列

ser=Series(np.arange(3.))
ser[-1]
这里用ser[-1]来索引序列的最后一个数是会导致error的。这里《利用python进行数据分析》的第五章pandas数据索引讲到了其中的原因。具体原文不分析了。

按照我们自己的意愿,ser[-1]是整数索引找到index的最后一个数输出对应的value。但是如果index不是默认的,而是通过index=[2,3,4]来定义的那么会出现如下问题:讲index视为一个list,ser[-3]的结果是2,那么得到的2这个数是该直接输出对应的value呢还是继续在索引index为2也就是第三个index此时为4对应的value这里是模糊不清的。

相反如果定义一个index 为非整数‘b’,‘a’,'c'.就不存在这样的问题了。可以使用【-integer】来进行索引series的value。




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值