There are multiple questions on stack overflow comparing loc, iloc, and ix such as this one, and multiple questions talking about speed differences such as this one. It seems that the consensus is that .ix is faster, but it is deprecated.
This leads me to my question, if .ix is so much faster, especially in label based indexing, why deprecate it? Why would you not want to use the faster method? The only reason I have found for deprecating .ix is that it confused people since it worked for both labels and integers. Am I missing something? Or is the only downside to .ix that it is confusing and so may not be supported in the future?
Also, side question about implementation of the three methods. How is it that .ix is faster and less specific. This seems counter-intuitive to me. I would expect the more general a method gets the slower it would be. Why not write loc and iloc to be faster like .ix?