parameters: (self, i, axis=0)
docstring: Parameters
          ----------
          i : int, slice, or sequence of integers
          axis : int
  
          Notes
          -----
          If slice passed, the resulting data will be a view.
docstring_summary: Parameters
          ----------
          i : int, slice, or sequence of integers
          axis : int
docstring_tokens: Parameters ---------- i : int slice or sequence of integers axis : int
function: def _ixs(self, i, axis=0):
          """
          Parameters
          ----------
          i : int, slice, or sequence of integers
          axis : int
  
          Notes
          -----
          If slice passed, the resulting data will be a view.
          """
          # irow
          if axis == 0:
              if isinstance(i, slice):
                  return self[i]
              else:
                  label = self.index[i]
                  if isinstance(label, Index):
                      # a location index by definition
                      result = self.take(i, axis=axis)
                      copy = True
                  else:
                      new_values = self._data.fast_xs(i)
                      if is_scalar(new_values):
                          return new_values
  
                      # if we are a copy, mark as such
                      copy = (isinstance(new_values, np.ndarray) and
                              new_values.base is None)
                      result = self._constructor_sliced(new_values,
                                                        index=self.columns,
                                                        name=self.index[i],
                                                        dtype=new_values.dtype)
                  result._set_is_copy(self, copy=copy)
                  return result
  
          # icol
          else:
              label = self.columns[i]
              if isinstance(i, slice):
                  # need to return view
                  lab_slice = slice(label[0], label[-1])
                  return self.loc[:, lab_slice]
              else:
                  if isinstance(label, Index):
                      return self._take(i, axis=1)
  
                  index_len = len(self.index)
  
                  # if the values returned are not the same length
                  # as the index (iow a not found value), iget returns
                  # a 0-len ndarray. This is effectively catching
                  # a numpy error (as numpy should really raise)
                  values = self._data.iget(i)
  
                  if index_len and not len(values):
                      values = np.array([np.nan] * index_len, dtype=object)
                  result = self._box_col_values(values, label)
  
                  # this is a cached value, mark it so
                  result._set_as_cached(label, self)
  
                  return result
function_tokens: def _ixs ( self , i , axis = 0 ) : # irow if axis == 0 : if isinstance ( i , slice ) : return self [ i ] else : label = self . index [ i ] if isinstance ( label , Index ) : # a location index by definition result = self . take ( i , axis = axis ) copy = True else : new_values = self . _data . fast_xs ( i ) if is_scalar ( new_values ) : return new_values # if we are a copy, mark as such copy = ( isinstance ( new_values , np . ndarray ) and new_values . base is None ) result = self . _constructor_sliced ( new_values , index = self . columns , name = self . index [ i ] , dtype = new_values . dtype ) result . _set_is_copy ( self , copy = copy ) return result # icol else : label = self . columns [ i ] if isinstance ( i , slice ) : # need to return view lab_slice = slice ( label [ 0 ] , label [ - 1 ] ) return self . loc [ : , lab_slice ] else : if isinstance ( label , Index ) : return self . _take ( i , axis = 1 ) index_len = len ( self . index ) # if the values returned are not the same length # as the index (iow a not found value), iget returns # a 0-len ndarray. This is effectively catching # a numpy error (as numpy should really raise) values = self . _data . iget ( i ) if index_len and not len ( values ) : values = np . array ( [ np . nan ] * index_len , dtype = object ) result = self . _box_col_values ( values , label ) # this is a cached value, mark it so result . _set_as_cached ( label , self ) return result