Data¶
-
class
glue.core.data.Data(label='', **kwargs)[source]¶ Bases:
objectThe basic data container in Glue.
The data object stores data as a collection of
Componentobjects. Each component stored in a dataset must have the same shape.Catalog data sets are stored such that each column is a distinct 1-dimensional
Component.There are several ways to extract the actual numerical data stored in a
Dataobject:data = Data(x=[1, 2, 3], label='data') xid = data.id['x'] data[xid] data.get_component(xid).data data['x'] # if 'x' is a unique component name
Likewise, datasets support fancy indexing:
data[xid, 0:2] data[xid, [True, False, True]]
See also: Working with Data objects
Parameters: label (str) – label for data Extra array-like keywords are extracted into components
Attributes Summary
componentsAll ComponentIDsin the Datacoordinate_linksA list of the ComponentLinks that connect pixel and world. derived_componentsThe ComponentIDs for each DerivedComponentlabelConvenience access to data set’s label ndimDimensionality of the dataset pixel_component_idsThe ComponentIDsfor each pixel coordinate.primary_componentsThe ComponentIDs not associated with a DerivedComponentshapeTuple of array dimensions, like numpy.ndarray.shapesizeTotal number of elements in the dataset. subsetsTuple of subsets attached to this dataset visible_componentsComponentIDsfor all non-hidden components.world_component_idsThe ComponentIDsfor each world coordinate.Methods Summary
add_component(component, label[, hidden])Add a new component to this data set. add_component_link(link[, label])Shortcut method for generating a new DerivedComponentfrom a ComponentLink object, and adding it to a data set.add_subset(subset)Assign a pre-existing subset to this data object. broadcast(attribute)Send a DataUpdateMessageto the hubcomponent_ids()Equivalent to Data.componentsdtype(cid)Lookup the dtype for the data associated with a ComponentID find_component_id(label)Retrieve component_ids associated by label name. get_component(component_id)Fetch the component corresponding to component_id. get_pixel_component_id(axis)Return the pixel glue.core.component_id.ComponentIDassociated with a given axisget_world_component_id(axis)Return the world glue.core.component_id.ComponentIDassociated with a given axisjoin_on_key(other, cid, cid_other)Create an element mapping to another dataset, by joining on values of ComponentIDs in both datasets. new_subset([subset, color, label])Create a new subset, and attach to self. register_to_hub(hub)Connect to a hub. remove_component(component_id)Remove a component from a data set to_dataframe([index])Convert the Data object into a pandas.DataFrame object update_components(mapping)Change the numerical data associated with some of the Components in this Data object. update_id(old, new)Reassign a component to a different glue.core.component_id.ComponentIDAttributes Documentation
-
components¶ All
ComponentIDsin the DataReturn type: list
-
coordinate_links¶ A list of the ComponentLinks that connect pixel and world. If no coordinate transformation object is present, return an empty list.
-
derived_components¶ The ComponentIDs for each
DerivedComponentReturn type: list
-
label¶ Convenience access to data set’s label
-
ndim¶ Dimensionality of the dataset
-
pixel_component_ids¶ The
ComponentIDsfor each pixel coordinate.
-
primary_components¶ The ComponentIDs not associated with a
DerivedComponentReturn type: list
-
shape¶ Tuple of array dimensions, like
numpy.ndarray.shape
-
size¶ Total number of elements in the dataset.
-
subsets¶ Tuple of subsets attached to this dataset
-
visible_components¶ ComponentIDsfor all non-hidden components.Return type: list
-
world_component_ids¶ The
ComponentIDsfor each world coordinate.
Methods Documentation
-
add_component(component, label, hidden=False)[source]¶ Add a new component to this data set.
Parameters: - component (
Componentor array-like) – object to add. Can be a Component, array-like object, or ComponentLink - label (
strorComponentID) – The label. If this is a string, a newglue.core.component_id.ComponentIDwith this label will be created and associated with the Component
Raises: TypeError, if label is invalid ValueError if the component has an incompatible shape
Returns: The ComponentID associated with the newly-added component
- component (
-
add_component_link(link, label=None)[source]¶ Shortcut method for generating a new
DerivedComponentfrom a ComponentLink object, and adding it to a data set.Parameters: - link –
ComponentLink - label (
ComponentIDor str) – The ComponentID or label to attach to.
Returns: The
DerivedComponentthat was added- link –
-
add_subset(subset)[source]¶ Assign a pre-existing subset to this data object.
Parameters: subset – A SubsetorSubsetStateobjectIf input is a
SubsetState, it will be wrapped in a new Subset automaticallyNote
The preferred way for creating subsets is via
new_subset_group(). Manually-instantiated subsets will not be represented properly by the UI
-
broadcast(attribute)[source]¶ Send a
DataUpdateMessageto the hubParameters: attribute (string) – Name of an attribute that has changed (or None)
-
component_ids()[source]¶ Equivalent to
Data.components
-
find_component_id(label)[source]¶ Retrieve component_ids associated by label name.
Parameters: label – ComponentID or string to search for Returns: The associated ComponentID if label is found and unique, else None
-
get_component(component_id)[source]¶ Fetch the component corresponding to component_id.
Parameters: component_id – the component_id to retrieve
-
get_pixel_component_id(axis)[source]¶ Return the pixel
glue.core.component_id.ComponentIDassociated with a given axis
-
get_world_component_id(axis)[source]¶ Return the world
glue.core.component_id.ComponentIDassociated with a given axis
-
join_on_key(other, cid, cid_other)[source]¶ Create an element mapping to another dataset, by joining on values of ComponentIDs in both datasets.
This join allows any subsets defined on other to be propagated to self.
Parameters: - other –
Datato join with - cid – str or
glue.core.component_id.ComponentIDin this dataset to use as a key - cid_other – ComponentID in the other dataset to use as a key
Example: >>> d1 = Data(x=[1, 2, 3, 4, 5], k1=[0, 0, 1, 1, 2], label='d1') >>> d2 = Data(y=[2, 4, 5, 8, 4], k2=[1, 3, 1, 2, 3], label='d2') >>> d2.join_on_key(d1, 'k2', 'k1')
>>> s = d1.new_subset() >>> s.subset_state = d1.id['x'] > 2 >>> s.to_mask() array([False, False, True, True, True], dtype=bool)
>>> s = d2.new_subset() >>> s.subset_state = d1.id['x'] > 2 >>> s.to_mask() array([ True, False, True, True, False], dtype=bool)
The subset state selects the last 3 items in d1. These have key values k1 of 1 and 2. Thus, the selected items in d2 are the elements where k2 = 1 or 2.
- other –
-
new_subset(subset=None, color=None, label=None, **kwargs)[source]¶ Create a new subset, and attach to self.
Note
The preferred way for creating subsets is via
new_subset_group(). Manually-instantiated subsets will not be represented properly by the UIParameters: subset – optional, reference subset or subset state. If provided, the new subset will copy the logic of this subset. Returns: The new subset object
-
register_to_hub(hub)[source]¶ Connect to a hub.
This method usually doesn’t have to be called directly, as DataCollections manage the registration of data objects
-
remove_component(component_id)[source]¶ Remove a component from a data set
Parameters: component_id ( ComponentID) – the component to remove
-
to_dataframe(index=None)[source]¶ Convert the Data object into a pandas.DataFrame object
Parameters: index – Any ‘index-like’ object that can be passed to the pandas.Series constructor Returns: pandas.DataFrame
-
update_components(mapping)[source]¶ Change the numerical data associated with some of the Components in this Data object.
All changes to component numerical data should use this method, which broadcasts the state change to the appropriate places.
Parameters: mapping – A dict mapping Components or ComponenIDs to arrays. - This method has the following restrictions:
- New compoments must have the same shape as old compoments
- Component subclasses cannot be updated.
-
update_id(old, new)[source]¶ Reassign a component to a different
glue.core.component_id.ComponentIDParameters: - old – The old
glue.core.component_id.ComponentID. - new – The new
glue.core.component_id.ComponentID.
- old – The old
-