<p dir="auto">Users are confused by this:</p>
<div class="snippet-clipboard-content notranslate position-relative overflow-auto" data-snippet-clipboard-copy-content="        if not index._verify_integrity():
            dups = index.get_duplicates()
            err_msg = 'Tried columns 1-X as index but found duplicates %s'
            raise Exception(err_msg % str(dups))"><pre class="notranslate"><code class="notranslate">        if not index._verify_integrity():
            dups = index.get_duplicates()
            err_msg = 'Tried columns 1-X as index but found duplicates %s'
            raise Exception(err_msg % str(dups))
</code></pre></div>
<p dir="auto">this was added as I recall to give a somewhat better error message when INFERENCE (fewer column labels than columns of data) but this error message is also getting raised when there are duplicates in an explicitly specified <code class="notranslate">index_col</code></p>
<p dir="auto">see: <a href="http://stackoverflow.com/questions/9556892/pandas-dataframe-desired-index-has-duplicate-values" rel="nofollow">http://stackoverflow.com/questions/9556892/pandas-dataframe-desired-index-has-duplicate-values</a></p>
<p dir="auto"><code class="notranslate">tslib.get_value_box</code> seems out of place.  The only place it is used is in <code class="notranslate">base.index</code>.  Meanwhile <code class="notranslate">_libs.index.get_value_at</code> looks very similar but is never used.  (It also looks similar to a chunk of code in <code class="notranslate">IndexEngine.get_value</code></p>
<p dir="auto">Is it possible that <code class="notranslate">index.get_value_at</code> was intended to replace <code class="notranslate">tslib.get_value_box</code>?</p>