SortedArray¶
- class astropy.table.SortedArray(data, row_index, unique=False)[source]¶
Bases:
object
Implements a sorted array container using a list of numpy arrays.
- Parameters:
Attributes Summary
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 [(key, [row 1, row 2, ...]), ...]
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.
Return rows in sorted order.
Attributes Documentation
- cols¶
Methods Documentation
- add(key, row)[source]¶
Add a new entry to the sorted array.
- Parameters:
- key
python:tuple
Column values at the given row
- row
python:int
Row number
- key
- find(key)[source]¶
Find all rows matching the given key.
- Parameters:
- key
python:tuple
Column values
- key
- Returns:
- matching_rows
python:list
List of rows matching the input key
- matching_rows
- find_pos(key, data, exact=False)[source]¶
Return the index of the largest key in data greater than or equal to the given key, data pair.
- Parameters:
- key
python:tuple
Column key
- data
python:int
Row number
- exactbool
If True, return the index of the given key in data or -1 if the key is not present.
- key
- items()[source]¶
Retrieve all array items as a list of pairs of the form [(key, [row 1, row 2, …]), …]
- range(lower, upper, bounds)[source]¶
Find values in the given range.
- Parameters:
- lower
python:tuple
Lower search bound
- upper
python:tuple
Upper search bound
- bounds(2,)
python:tuple
of bool Indicates whether the search should be inclusive or exclusive with respect to the endpoints. The first argument corresponds to an inclusive lower bound, and the second argument to an inclusive upper bound.
- lower
- remove(key, data)[source]¶
Remove the given entry from the sorted array.
- Parameters:
- key
python:tuple
Column values
- data
python:int
Row number
- key
- Returns:
- successfulbool
Whether the entry was successfully removed
- replace_rows(row_map)[source]¶
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
python:dict
Mapping of row numbers to new row numbers
- row_map
- shift_left(row)[source]¶
Decrement all row numbers greater than the input row.
- Parameters:
- row
python:int
Input row number
- row