Ответ 1
Обратитесь к документу "Различные варианты индексирования" , он четко указывает, когда и почему вы должны использовать .loc,.iloc над .ix, это о явном случае использования:
.ix поддерживает смешанный доступ на основе целых чисел и меток. Это прежде всего на основе меток, но будет возвращаться к целочисленному позиционному доступу, если только соответствующая ось имеет целочисленный тип..ix является наиболее общим и будет поддерживать любой из входных данных в .loc и .iloc..ix также поддерживает с плавающей точкой..ix исключительно полезен при работе со смешанными позиционно-ориентированными индексами.
Однако, когда ось основана на целых числах, ТОЛЬКО доступ на основе меток и не поддерживается позиционный доступ. Таким образом, в таких случаях обычно лучше быть явным и использовать .iloc или .loc.
Надеюсь, что это поможет.
Обновление 22 марта 2017 г.
Благодаря комментарию от @Alexander, Pandas собирается отказаться от ix
в 0,20, подробнее в .
Одна из веских причин заключается в том, что смешение индексов - позиционное и метка (эффективно с использованием ix
) стало значительным источником проблем для пользователей.
Ожидается, что вместо использования iloc
и loc
будет выполнена миграция, вот ссылка на как конвертировать код.