2014-12-14 3 views
2

Pandas MultiIndex 인스턴스 my_index이 주어지면 해당 튜플 목록 표현 (즉, my_index.tolist())에 중복 된 튜플이 포함되어 있는지 여부를 감지해야합니다. 이것은 len(pandas.unique(my_index)) < len(my_index)을 사용하여 수행 할 수 있지만,이 목적으로 MultiIndex.has_duplicates 속성을 사용할 수 있는지 궁금합니다. Pandas 소스 코드에서 상응하는 단위 테스트가이 경우임을 암시하는 것처럼 보일지라도 중복 튜플을 포함하지 않는 다음 예제에서는 왜 속성이 True인지 확실하지 않습니다. (나는 Python 2.7.6과 함께 Linux에서 Pandas 0.15.2를 사용하고 있습니다.) 나는이 속성의 목적을 오해하고 있습니까?pandas.MultiIndex.has_duplicates 속성을 이해하십시오

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

나를 위해 False를 인쇄합니다. – BrenBarn

+0

어떤 판다와 파이썬 버전을 사용하고 있습니까? – lebedov

+0

파이썬 2.7.8, 확정 팬더 0.15.0 – BrenBarn

답변

0

개발자는 이것이 Pandas 0.16.0이 될 것으로 수정 된 버그임을 확인했습니다.

관련 문제