<p dir="auto">Hi,</p>
<p dir="auto">I don't know if this is a bug or a feature, or even if you guys noticed it already and it's not an issue, but this caused me some problems so I thought I should report it.</p>
<p dir="auto">When you use the read_csv command to read a csv, you can pass the columns you want to  set as indexes. If those columns contain duplicated entries, the index will have duplicated entries.</p>
<p dir="auto">To reproduce this, read a csv file with this contents:</p>
<div class="snippet-clipboard-content notranslate position-relative overflow-auto" data-snippet-clipboard-copy-content="indexcol, anothercol, yetanothercol
1, 1, 1
1, 2, 3
2, 1, 2"><pre class="notranslate"><code class="notranslate">indexcol, anothercol, yetanothercol
1, 1, 1
1, 2, 3
2, 1, 2
</code></pre></div>
<p dir="auto">with the command:</p>
<div class="snippet-clipboard-content notranslate position-relative overflow-auto" data-snippet-clipboard-copy-content="In [1]: import pandas

In [2]: pandas.read_csv('bar.csv', index_col = 'indexcol')
Out[2]: 
           anothercol   yetanothercol
indexcol                             
1                   1               1
1                   2               3
2                   1               2"><pre class="notranslate"><code class="notranslate">In [1]: import pandas

In [2]: pandas.read_csv('bar.csv', index_col = 'indexcol')
Out[2]: 
           anothercol   yetanothercol
indexcol                             
1                   1               1
1                   2               3
2                   1               2
</code></pre></div>
<p dir="auto">Is this what should happen? Is there a way to prevent it (like, for example, just read the first ocurrence of each duplicated index an drop the rest)? What I did to get rid of the duplicated entries was:</p>
<div class="snippet-clipboard-content notranslate position-relative overflow-auto" data-snippet-clipboard-copy-content="In [3]: df = pandas.read_csv('bar.csv', index_col = 'indexcol')

In [4]: df.groupby(lambda x:x).first()
Out[4]: 
    anothercol   yetanothercol
1            1               1
2            1               2"><pre class="notranslate"><code class="notranslate">In [3]: df = pandas.read_csv('bar.csv', index_col = 'indexcol')

In [4]: df.groupby(lambda x:x).first()
Out[4]: 
    anothercol   yetanothercol
1            1               1
2            1               2
</code></pre></div>
<p dir="auto">What do we want out of our API docs? What are the current issues?</p>
<p dir="auto">I think we're (mostly) happy with <code class="notranslate">api.rst</code>: we manually list the classes and methods that we want to include the docs, grouped by topics of our choosing.</p>
<p dir="auto">I think we're unhappy with some aspects of the auto-genrated class pages.</p>
<p dir="auto">The <a href="https://github.com/pandas-dev/pandas/blob/c176a3c29ccabe7e471fa0b76c6cc1ceeb9bcd77/doc/sphinxext/numpydoc/numpydoc.py#L45-L48">hack</a> in our vendored <code class="notranslate">numpydoc.py</code> "fixing" the autosummary to not include a table of methods for certain classes. This avoids a ton of redundant pages with the parent class, but we can't call out important differences like <code class="notranslate">RangeIndex.start</code></p>
<p dir="auto">We'd like a way to limit autosummary to specific methods in a class (I think this can be done with a <code class="notranslate">Methods</code> section in the docstring)</p>
<p dir="auto">Tasks:</p>
<ul class="contains-task-list">
<li class="task-list-item"><input type="checkbox" id="" disabled="" class="task-list-item-checkbox" checked=""> Limit API doc of classes to certain members (either extend autodoc or do it manually?) -&gt; <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="272714788" data-permission-text="Title is private" data-url="https://github.com/pandas-dev/pandas/issues/18202" data-hovercard-type="pull_request" data-hovercard-url="/pandas-dev/pandas/pull/18202/hovercard" href="https://github.com/pandas-dev/pandas/pull/18202">#18202</a></li>
<li class="task-list-item"><input type="checkbox" id="" disabled="" class="task-list-item-checkbox" checked=""> DOC: fix API docs generation with sphinx 1.6 <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="236163960" data-permission-text="Title is private" data-url="https://github.com/pandas-dev/pandas/issues/16705" data-hovercard-type="issue" data-hovercard-url="/pandas-dev/pandas/issues/16705/hovercard" href="https://github.com/pandas-dev/pandas/issues/16705">#16705</a></li>
<li class="task-list-item"><input type="checkbox" id="" disabled="" class="task-list-item-checkbox" checked=""> DOC: documenting cython class (eg Timestamp): "cyfunction is not a python function" <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="20975147" data-permission-text="Title is private" data-url="https://github.com/pandas-dev/pandas/issues/5218" data-hovercard-type="issue" data-hovercard-url="/pandas-dev/pandas/issues/5218/hovercard" href="https://github.com/pandas-dev/pandas/issues/5218">#5218</a> -&gt; <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="272714788" data-permission-text="Title is private" data-url="https://github.com/pandas-dev/pandas/issues/18202" data-hovercard-type="pull_request" data-hovercard-url="/pandas-dev/pandas/pull/18202/hovercard" href="https://github.com/pandas-dev/pandas/pull/18202">#18202</a></li>
<li class="task-list-item"><input type="checkbox" id="" disabled="" class="task-list-item-checkbox" checked=""> Remove vendored IPython sphinxext (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="272635793" data-permission-text="Title is private" data-url="https://github.com/pandas-dev/pandas/issues/18193" data-hovercard-type="pull_request" data-hovercard-url="/pandas-dev/pandas/pull/18193/hovercard" href="https://github.com/pandas-dev/pandas/pull/18193">#18193</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="296364134" data-permission-text="Title is private" data-url="https://github.com/pandas-dev/pandas/issues/19657" data-hovercard-type="pull_request" data-hovercard-url="/pandas-dev/pandas/pull/19657/hovercard" href="https://github.com/pandas-dev/pandas/pull/19657">#19657</a>)
<ul class="contains-task-list">
<li class="task-list-item"><input type="checkbox" id="" disabled="" class="task-list-item-checkbox" checked=""> should be OK with <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="274783988" data-permission-text="Title is private" data-url="https://github.com/ipython/ipython/issues/10907" data-hovercard-type="pull_request" data-hovercard-url="/ipython/ipython/pull/10907/hovercard" href="https://github.com/ipython/ipython/pull/10907">ipython/ipython#10907</a> released)</li>
<li class="task-list-item"><input type="checkbox" id="" disabled="" class="task-list-item-checkbox" checked=""> removed in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="296364134" data-permission-text="Title is private" data-url="https://github.com/pandas-dev/pandas/issues/19657" data-hovercard-type="pull_request" data-hovercard-url="/pandas-dev/pandas/pull/19657/hovercard" href="https://github.com/pandas-dev/pandas/pull/19657">#19657</a></li>
<li class="task-list-item"><input type="checkbox" id="" disabled="" class="task-list-item-checkbox"> We should check on Windows!</li>
</ul>
</li>
<li class="task-list-item"><input type="checkbox" id="" disabled="" class="task-list-item-checkbox" checked=""> Align our numpydoc version with upstream / use upstream version: for this we somehow need to fix (or push upstream) our hacks to numpydoc ( I think this are the only relevant changes to the numpydoc source since it was last aligned with upstream in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="25882381" data-permission-text="Title is private" data-url="https://github.com/pandas-dev/pandas/issues/6003" data-hovercard-type="pull_request" data-hovercard-url="/pandas-dev/pandas/pull/6003/hovercard" href="https://github.com/pandas-dev/pandas/pull/6003">#6003</a>) (xref <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="110203224" data-permission-text="Title is private" data-url="https://github.com/pandas-dev/pandas/issues/11257" data-hovercard-type="pull_request" data-hovercard-url="/pandas-dev/pandas/pull/11257/hovercard" href="https://github.com/pandas-dev/pandas/pull/11257">#11257</a>)):
<ul class="contains-task-list">
<li class="task-list-item"><input type="checkbox" id="" disabled="" class="task-list-item-checkbox" checked=""> <a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/pandas-dev/pandas/commit/cf40991093e746e5dde40fca4f322ecfc3dfff78/hovercard" href="https://github.com/pandas-dev/pandas/commit/cf40991093e746e5dde40fca4f322ecfc3dfff78"><tt>cf40991</tt></a> initial commit for allowing classes without members table -&gt; <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="272714788" data-permission-text="Title is private" data-url="https://github.com/pandas-dev/pandas/issues/18202" data-hovercard-type="pull_request" data-hovercard-url="/pandas-dev/pandas/pull/18202/hovercard" href="https://github.com/pandas-dev/pandas/pull/18202">#18202</a></li>
<li class="task-list-item"><input type="checkbox" id="" disabled="" class="task-list-item-checkbox" checked=""> <a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/pandas-dev/pandas/commit/70c9d318ed4ef32e1c294a4dbefcb783cda19dba/hovercard" href="https://github.com/pandas-dev/pandas/commit/70c9d318ed4ef32e1c294a4dbefcb783cda19dba"><tt>70c9d31</tt></a> for None attributes</li>
<li class="task-list-item"><input type="checkbox" id="" disabled="" class="task-list-item-checkbox" checked=""> Remove vendored numpydoc (work around <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="248280788" data-permission-text="Title is private" data-url="https://github.com/numpy/numpydoc/issues/106" data-hovercard-type="pull_request" data-hovercard-url="/numpy/numpydoc/pull/106/hovercard?comment_id=343220139&amp;comment_type=issue_comment" href="https://github.com/numpy/numpydoc/pull/106#issuecomment-343220139">numpy/numpydoc#106 (comment)</a>)</li>
</ul>
</li>
<li class="task-list-item"><input type="checkbox" id="" disabled="" class="task-list-item-checkbox" checked=""> Fix <code class="notranslate">cache_readonly</code> copying docstring (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="272665451" data-permission-text="Title is private" data-url="https://github.com/pandas-dev/pandas/issues/18197" data-hovercard-type="issue" data-hovercard-url="/pandas-dev/pandas/issues/18197/hovercard" href="https://github.com/pandas-dev/pandas/issues/18197">#18197</a>)</li>
<li class="task-list-item"><input type="checkbox" id="" disabled="" class="task-list-item-checkbox"> <code class="notranslate">Index.name</code> and other class attributes. Either fix in numpydoc to use sphinx magic, or make into properties</li>
<li class="task-list-item"><input type="checkbox" id="" disabled="" class="task-list-item-checkbox" checked=""> <code class="notranslate">DataFrame.index</code> and <code class="notranslate">DataFrame.columns</code> (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="272659664" data-permission-text="Title is private" data-url="https://github.com/pandas-dev/pandas/issues/18196" data-hovercard-type="pull_request" data-hovercard-url="/pandas-dev/pandas/pull/18196/hovercard" href="https://github.com/pandas-dev/pandas/pull/18196">#18196</a>)</li>
<li class="task-list-item"><input type="checkbox" id="" disabled="" class="task-list-item-checkbox" checked=""> Check performance (better than 1.6, but still slower? <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="272898027" data-permission-text="Title is private" data-url="https://github.com/sphinx-doc/sphinx/issues/4230" data-hovercard-type="issue" data-hovercard-url="/sphinx-doc/sphinx/issues/4230/hovercard" href="https://github.com/sphinx-doc/sphinx/issues/4230">sphinx-doc/sphinx#4230</a>)</li>
</ul>