to generate an errorser series(np arange( )ser[- in this casepandas could "fall backon integer indexingbut there' not safe and general way (that know ofto do this without introducing subtle bugs here we have an index containing but inferring what the user wants (label-based indexing or position-basedis difficult:in [ ]ser out[ ] on the other handwith non-integer indexthere is no potential for ambiguityin [ ]ser series(np arange( )index=[' '' '' ']in [ ]ser [- out[ ] to keep things consistentif you have an axis index containing indexersdata selection with integers will always be label-oriented this includes slicing with ixtooin [ ]ser ix[: out[ ] in cases where you need reliable position-based indexing regardless of the index typeyou can use the iget_value method from series and irow and icol methods from dataframein [ ]ser series(range( )index=[- ]in [ ]ser iget_value( out[ ] in [ ]frame dataframe(np arange( reshape( ))index=[ ]in [ ]frame irow( out[ ] name panel data while not major topic of this bookpandas has panel data structurewhich you can think of as three-dimensional analogue of dataframe much of the development focus of pandas has been in tabular data manipulations as these are easier to reason about getting started with pandas www it-ebooks info