我看到很多关于这个错误的问题。我正在运行pandas '0.10.1'。
df = DataFrame({'A' : np.random.randn(5),
'B' : np.random.randn(5),'C' : np.random.randn(5),
'D':['a','b','c','d','e'] })
#gives error
df.take([2,0,1,2,3], axis=1).drop(['C'],axis=1)
#works fine
df.take([2,0,1,2,1], axis=1).drop(['C'],axis=1)
我所能看到的是,在前一种情况下,我有一个非数字列,这似乎在某种程度上影响了索引,但以下命令返回空:
df.take([2,0,1,2,3], axis=1).index.get_duplicates()
重新索引错误毫无意义似乎不适用于我的旧索引是唯一的情况。
使用此命令 df.take([2,0,1,2,3], axis=1).index.get_duplicates(),从这篇文章中可以看出,我认为我的索引是唯一的:reindex数据帧的问题:仅在具有唯一值的索引对象上有效的重新索引
我认为我的pandas版本#没问题,所以这个bug应该不是问题:pandas 仅在具有唯一值的索引对象上有效的重新索引