def blocks() -> tp.Iterator[np.ndarray]: for block in self._blocks: self._validate_dtype_non_str(block.dtype, exclude=self.DT64_EXCLUDE_YEAR) if block.dtype.kind == DTYPE_DATETIME_KIND: array = block.astype(DT64_MONTH).astype(DTYPE_INT_DEFAULT) % 12 + 1 array.flags.writeable = False else: # must be object type array = array_from_element_attr( array=block, attr_name='month', dtype=DTYPE_INT_DEFAULT) yield array
def blocks() -> tp.Iterator[np.ndarray]: for block in self._blocks: self._validate_dtype_non_str(block.dtype) if block.dtype.kind == DTYPE_DATETIME_KIND: array = block.astype(DT64_YEAR).astype(DTYPE_INT_DEFAULT) + 1970 array.flags.writeable = False else: # must be object type array = array_from_element_attr( array=block, attr_name='year', dtype=DTYPE_INT_DEFAULT) yield array
def blocks() -> tp.Iterator[np.ndarray]: for block in self._blocks: # permit all dt64 types self._validate_dtype_non_str(block.dtype) if block.dtype.kind == DTYPE_DATETIME_KIND: if block.dtype != DT64_S: block = block.astype(DT64_S) # subtract the first of the month, then shfit array = block.astype(DTYPE_INT_DEFAULT) % 60 array.flags.writeable = False else: # must be object datetime type array = array_from_element_attr( array=block, attr_name='second', dtype=DTYPE_INT_DEFAULT) yield array
def blocks() -> tp.Iterator[np.ndarray]: for block in self._blocks: self._validate_dtype_non_str(block.dtype, exclude=self.DT64_EXCLUDE_YEAR_MONTH) if block.dtype.kind == DTYPE_DATETIME_KIND: if block.dtype != DT64_DAY: block = block.astype(DT64_DAY) # subtract the first of the month, then shfit array = (block - block.astype(DT64_MONTH)).astype(DTYPE_INT_DEFAULT) + 1 array.flags.writeable = False else: # must be object type array = array_from_element_attr( array=block, attr_name='day', dtype=DTYPE_INT_DEFAULT) yield array