#NEWLINE# def _getitem_lowerdim( self , tup ) : #NEWLINE# #INDENT# if ( self . axis is not None ) : #NEWLINE# #INDENT# axis = self . obj . _get_axis_number ( self . axis ) #NEWLINE# return self . _getitem_axis ( tup , axis = axis ) #NEWLINE# #UNINDENT# if self . _is_nested_tuple_indexer ( tup ) : #NEWLINE# #INDENT# return self . _getitem_nested_tuple ( tup ) #NEWLINE# #UNINDENT# ax0 = self . obj . _get_axis ( 0 ) #NEWLINE# if isinstance ( ax0 , MultiIndex ) : #NEWLINE# #INDENT# result = self . _handle_lowerdim_multi_index_axis0 ( tup ) #NEWLINE# if ( result is not None ) : #NEWLINE# #INDENT# return result #NEWLINE# #UNINDENT# #UNINDENT# if ( len ( tup ) > self . obj . ndim ) : #NEWLINE# #INDENT# raise IndexingError ( 'Too many indexers. handle elsewhere' ) #NEWLINE# #UNINDENT# for ( i , key ) in enumerate ( tup ) : #NEWLINE# #INDENT# if ( is_label_like ( key ) or isinstance ( key , tuple ) ) : #NEWLINE# #INDENT# section = self . _getitem_axis ( key , axis = i ) #NEWLINE# if ( not is_list_like_indexer ( section ) ) : #NEWLINE# #INDENT# return section #NEWLINE# #UNINDENT# else : #NEWLINE# #INDENT# if ( section . ndim == self . ndim ) : #NEWLINE# #INDENT# new_key = ( ( tup [ : i ] + ( _NS , ) ) + tup [ ( i + 1 ) : ] ) #NEWLINE# #UNINDENT# else : #NEWLINE# #INDENT# new_key = ( tup [ : i ] + tup [ ( i + 1 ) : ] ) #NEWLINE# if ( isinstance ( section , ABCDataFrame ) and ( i > 0 ) and ( len ( new_key ) == 2 ) ) : #NEWLINE# #INDENT# ( a , b ) = new_key #NEWLINE# new_key = ( b , a ) #NEWLINE# #UNINDENT# if ( len ( new_key ) == 1 ) : #NEWLINE# #INDENT# ( new_key , ) = new_key #NEWLINE# #UNINDENT# #UNINDENT# #UNINDENT# return getattr ( section , self . name ) [ new_key ] #NEWLINE# #UNINDENT# #UNINDENT# raise IndexingError ( 'not applicable' )