给定Pandas MultiIndex实例my_index,我需要检测它的元组列表表示(即my_index.tolist())是否包含任何重复的元组。虽然这可以使用len(pandas.unique(my_index)) < len(my_index)完成,但我想知道是否可以将MultiIndex.has_duplicates属性用于此目的。虽然Pandas源代码中相应的单元测试似乎表明情况是这样的,但我不知道为什么下面的示例中的属性是True,它不包含重复的元组。(我在Linux上使用Pandas 0.15.2和Python2.7.6。)我是不是误解了财产的用途?
import pandas as pd
t = [(u'x', u'out', u'z', 5, u'y', u'in', u'z', 169),
(u'x', u'out', u'z', 7, u'y', u'in', u'z', 119),
(u'x', u'out', u'z', 9, u'y', u'in', u'z', 135),
(u'x', u'out', u'z', 13, u'y', u'in', u'z', 145),
(u'x', u'out', u'z', 14, u'y', u'in', u'z', 158),
(u'x', u'out', u'z', 16, u'y', u'in', u'z', 122),
(u'x', u'out', u'z', 17, u'y', u'in', u'z', 160),
(u'x', u'out', u'z', 18, u'y', u'in', u'z', 180),
(u'x', u'out', u'z', 20, u'y', u'in', u'z', 143),
(u'x', u'out', u'z', 21, u'y', u'in', u'z', 128),
(u'x', u'out', u'z', 22, u'y', u'in', u'z', 129),
(u'x', u'out', u'z', 25, u'y', u'in', u'z', 111),
(u'x', u'out', u'z', 28, u'y', u'in', u'z', 114),
(u'x', u'out', u'z', 29, u'y', u'in', u'z', 121),
(u'x', u'out', u'z', 31, u'y', u'in', u'z', 126),
(u'x', u'out', u'z', 32, u'y', u'in', u'z', 155),
(u'x', u'out', u'z', 33, u'y', u'in', u'z', 123),
(u'x', u'out', u'z', 12, u'y', u'in', u'z', 144)]
idx = pd.MultiIndex.from_tuples(t)
print idx.has_duplicates发布于 2014-12-15 15:19:04
开发人员指出,这是一个已经修复的bug,将成为Pandas 0.16.0。
https://stackoverflow.com/questions/27473093
复制相似问题