I\'m taking an online class to learn python and the instructor taught us that chain indexing was not a good idea. However, he failed to tell is the appropriate alternative
Use multi-axis indexing, e.g.
df.loc['a', '1']
When you use df['1']['a']
, you are first accessing the series object s = df['1']
, and then accessing the series element s['a']
, resulting in two __getitem__
calls, both of which are heavily overloaded (handle a lot of scenarios, like slicing, boolean mask indexing, and so on).
It's much more efficient to use the df.loc
indexer.