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
나를 위해 False를 인쇄합니다. – BrenBarn
어떤 판다와 파이썬 버전을 사용하고 있습니까? – lebedov
파이썬 2.7.8, 확정 팬더 0.15.0 – BrenBarn