Pandans的Series在追加系列时的一个疑似Bug

现象如下图如示:

当x在append一个系列n后,通过位置索引,已无法找到值“one”,如上图中的从x[0]到x[3],新append的n被指向了两次,即x[0]和x[3],感觉在append系列n后,其index值是否不太正确?

后续:

经执行x.index及x.values命令,情况显示如下:

可能使用x.index查询每个位置索引的值,更为合适,如下:

此时通过位置索引获取的值正确。

通过上述操作对比,可能产生疑似bug的原因如下:

  1. 由于是基于Numpy,pandas的Series延续了Numpy的数组操作,但数组操作取值的优先级不同,即先取index存在的值,如果不存在index的值,那么再取基于位置索引的值。读取x[0]时,存在index为0的值,即新追加的n系列,所以此时x[0]的值为'22',读取x[1]时,不存在index为1的情况,此时读取位置索引为1的值,即x[1]=x['second']=2;
  2. 为避免基于位置索引读取系列值与基于index索引值的冲突,建议基于位置索引读取时采用x[[0]][0]的方法,而不是采取x[0]的方法,参考如下:

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值