现象如下图如示:

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

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

后续:

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

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

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

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

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

通过上述操作对比,可能产生疑似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]的方法,参考如下:

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

相关文章:

  • 2021-08-29
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2021-09-08
  • 2021-07-30
  • 2022-12-23
猜你喜欢
  • 2022-01-18
  • 2021-12-17
  • 2021-09-10
  • 2022-01-27
  • 2021-05-17
  • 2021-07-07
  • 2022-12-23
相关资源
相似解决方案