示例#1
0
    def __getitem__(self, indexer):
        result = super(LabelArray, self).__getitem__(indexer)
        if result.ndim:
            # Result is still a LabelArray, so we can just return it.
            return result

        # Result is a scalar value, which will be an instance of np.void.
        # Map it back to one of our category entries.
        index = result.view(int_dtype_with_size_in_bytes(self.itemsize))
        return self.categories[index]
示例#2
0
    def as_int_array(self):
        """
        Convert self into a regular ndarray of ints.

        This is an O(1) operation. It does not copy the underlying data.
        """
        return self.view(
            type=ndarray,
            dtype=int_dtype_with_size_in_bytes(self.itemsize),
        )
示例#3
0
    def __getitem__(self, indexer):
        result = super(LabelArray, self).__getitem__(indexer)
        if result.ndim:
            # Result is still a LabelArray, so we can just return it.
            return result

        # Result is a scalar value, which will be an instance of np.void.
        # Map it back to one of our category entries.
        index = result.view(int_dtype_with_size_in_bytes(self.itemsize))
        return self.categories[index]
示例#4
0
    def as_int_array(self):
        """
        Convert self into a regular ndarray of ints.

        This is an O(1) operation. It does not copy the underlying data.
        """
        return self.view(
            type=ndarray,
            dtype=int_dtype_with_size_in_bytes(self.itemsize),
        )
示例#5
0
 def empty_like(self, shape):
     """
     Make an empty LabelArray with the same categories as ``self``, filled
     with ``self.missing_value``.
     """
     return type(self)._from_codes_and_metadata(
         codes=np.full(
             shape,
             self.reverse_categories[self.missing_value],
             dtype=int_dtype_with_size_in_bytes(self.itemsize),
         ),
         categories=self.categories,
         reverse_categories=self.reverse_categories,
         missing_value=self.missing_value,
     )
示例#6
0
 def empty_like(self, shape):
     """
     Make an empty LabelArray with the same categories as ``self``, filled
     with ``self.missing_value``.
     """
     return type(self)._from_codes_and_metadata(
         codes=np.full(
             shape,
             self.reverse_categories[self.missing_value],
             dtype=int_dtype_with_size_in_bytes(self.itemsize),
         ),
         categories=self.categories,
         reverse_categories=self.reverse_categories,
         missing_value=self.missing_value,
     )