astro py:docs

- Index
- Modules

### Navigation

- next »
- « previous |
- Astropy v1.1.1 »
- Data Tables (`astropy.table`) »
- SortedArray

# SortedArray

class `astropy.table.``SortedArray`(data, row_index, unique=False)

  Bases: `object`

  Implements a sorted array container using a list of numpy arrays.

  Parameters:

  data : Table

  > Sorted columns of the original table

  row_index : Column object

  > Row numbers corresponding to data columns

  unique : bool (defaults to False)

  > Whether the values of the index must be unique

  Attributes Summary

  `cols` |

  Methods Summary

  `add`(key, row) | Add a new entry to the sorted array.
  `find`(key) | Find all rows matching the given key.
  `find_pos`(key, data[, exact]) | Return the index of the largest key in data greater than or equal to the given key, data pair.
  `items`() | Retrieve all array items as a list of pairs of the form
  `range`(lower, upper, bounds) | Find values in the given range.
  `remove`(key, data) | Remove the given entry from the sorted array.
  `replace_rows`(row_map) | Replace all rows with the values they map to in the given dictionary.
  `shift_left`(row) | Decrement all row numbers greater than the input row.
  `shift_right`(row) | Increment all row numbers greater than or equal to the input row.
  `sort`() | Make row order align with key order.
  `sorted_data`() | Return rows in sorted order.

  Attributes Documentation

  `cols`

  Methods Documentation

  `add`(key, row)

    Add a new entry to the sorted array.

    Parameters:

    key : tuple

    > Column values at the given row

    row : int

    > Row number

  `find`(key)

    Find all rows matching the given key.

    Parameters:

    key : tuple

    > Column values

    Returns:

    matching_rows : list

    > List of rows matching the input key

  `find_pos`(key, data, exact=False)

    Return the index of the largest key in data greater than or equal to the given key, data pair.

    Parameters:

    key : tuple

    > Column key

    data : int

    > Row number

    exact : bool

    > If True, return the index of the given key in data or -1 if the key is not present.

  `items`()

    Retrieve all array items as a list of pairs of the form [(key, [row 1, row 2, ...]), ...]

  `range`(lower, upper, bounds)

    Find values in the given range.

    Parameters:

    lower : tuple

    > Lower search bound

    upper : tuple

    > Upper search bound

    bounds : tuple (x, y) of bools

    > Indicates whether the search should be inclusive or exclusive with respect to the endpoints. The first argument x corresponds to an inclusive lower bound, and the second argument y to an inclusive upper bound.

  `remove`(key, data)

    Remove the given entry from the sorted array.

    Parameters:

    key : tuple

    > Column values

    data : int

    > Row number

    Returns:

    successful : bool

    > Whether the entry was successfully removed

  `replace_rows`(row_map)

    Replace all rows with the values they map to in the given dictionary. Any rows not present as keys in the dictionary will have their entries deleted.

    Parameters:

    row_map : dict

    > Mapping of row numbers to new row numbers

  `shift_left`(row)

    Decrement all row numbers greater than the input row.

    Parameters:

    row : int

    > Input row number

  `shift_right`(row)

    Increment all row numbers greater than or equal to the input row.

    Parameters:

    row : int

    > Input row number

  `sort`()

    Make row order align with key order.

  `sorted_data`()

    Return rows in sorted order.