Resolving Reindexing only valid with uniquely valued Index objects

pandas, python

Solution

Firstly, I believe you meant to test for duplicates using the following command:

df.take([2,0,1,2,3],axis=1).columns.get_duplicates()

because if you used index instead of columns, then it would obviously returned an empty array because the random float values don't repeat. The above command returns, as expected:

['C']

Secondly, I think you're right, the non-numeric column is throwing it off, because even if you use the following, there is still an error:

df = DataFrame({'A' : np.random.randn(5), 'B' : np.random.randn(5),'C' :np.random.randn(5), 'D':[str(x) for x in np.random.randn(5) ]})

It could be a bug, because if you check out the core file called 'index.py', on line 86, and line 1228, the type it is expecting is either (respectively):

_engine_type = _index.ObjectEngine


_engine_type = _index.Int64Engine

and neither of those seem to be expecting a string, if you look deeper into the documentation. That's the best I got, good luck!! Let me know if you solve this as I'm interested too.

Problem

I have viewed many of the questions that come up with this error. I am running pandas '0.10.1' ``` df = DataFrame({'A' : np.random.randn(5), 'B' : np.random.randn(5),'C' : np.random.randn(5), 'D':['a','b','c','d','e'] }) #gives error df.take([2,0,1,2,3], axis=1).drop(['C'],axis=1) #works fine df.take([2,0,1,2,1], axis=1).drop(['C'],axis=1) ``` Only thing I can see is that in the former case I have the non-numeric column, which seems to be affecting the index somehow but the below command returns empty: ``` df.take([2,0,1,2,3], axis=1).index.get_duplicates() ``` Reindexing error makes no sense does not seem to apply as my old index is unique. My index appears unique as far as I can tell using this command df.take([2,0,1,2,3], axis=1).index.get_duplicates() from this Q&A: problems with reindexing dataframes: Reindexing only valid with uniquely valued Index objects "Reindexing only valid with uniquely valued Index objects" does not seem to apply I think my pandas version# is ok so this should bug should not be the problem pandas Reindexing only valid with uniquely valued Index objects

Original source

Related problems