2016-12-21 3 views
5

Я беру онлайн-класс, чтобы изучить питон, и преподаватель научил нас, что индексация цепочки не была хорошей идеей. Однако он не смог сказать, что это подходящая альтернатива для использования.Какова альтернатива индексированию цепей панды?

Предположим, у меня есть кадр данных Pandas со строками, индексированными как ['1', '2', '3'] и столбцами с именами ['a', 'b', 'c'].

Какая уместна альтернатива использованию команды df['1']['a'] для извлечения значения, найденного в первой строке и первом столбце?

+0

См. [Docs] (http://pandas.pydata.org/pandas-docs/stable/indexing.html) – EdChum

ответ

6

Использовать multi-axis indexing, т.е.

df.loc['a', '1'] 

При использовании df['1']['a'], вы первый доступ объект серии s = df['1'], а затем получить доступ к серии элемент s['a'], в результате чего два __getitem__ вызовов, оба из которых сильно перегруженных (обрабатывать много сценариев, как нарезка , индексирование булевой маски и т. д.).

Гораздо эффективнее использовать индексный указатель df.loc.

Смежные вопросы