给定一个Pandas MultiIndex
实例my_index
,我需要检测它的元组列表表示(即my_index.tolist()
)是否包含任何重复的元组。虽然可以使用len(pandas.unique(my_index)) < len(my_index)
完成此操作,但我想知道MultiIndex.has_duplicates
属性是否可用于此目的。尽管Pandas源代码中的相应单元测试似乎表明情况属实,但我不确定为什么该属性为True,以下示例中不包含重复元组。 (我在Linux上用Python 2.7.6使用Pandas 0.15.2。)我是否误解了该属性的用途?
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
答案 0 :(得分:0)
开发人员指出,这是一个已经在Pandas 0.16.0中修复的错误。