Пример #1
0
 def compute(self, today, assets, out, value):
     if isinstance(value, LabelArray):
         out[:] = ~np_any(value.is_missing(), axis=0)
     else:
         out[:] = ~np_any(
             is_missing(value, self.inputs[0].missing_value),
             axis=0,
         )
Пример #2
0
 def compute(self, today, assets, out, value):
     if isinstance(value, LabelArray):
         out[:] = ~np_any(value.is_missing(), axis=0)
     else:
         out[:] = ~np_any(
             is_missing(value, self.inputs[0].missing_value),
             axis=0,
         )
Пример #3
0
    def _compute(self, arrays, dates, assets, mask):
        data = arrays[0]
        group_labels, null_label = self.inputs[1]._to_integral(arrays[1])
        effective_mask = (
            mask
            & (group_labels != null_label)
            & ~is_missing(data, self.inputs[0].missing_value)).view(uint8)

        return grouped_masked_is_maximal(
            # Unconditionally view the data as int64.
            # This is safe because casting from float64 to int64 is an
            # order-preserving operation.
            data.view(int64_dtype),
            # PERF: Consider supporting different sizes of group labels.
            group_labels.astype(int64_dtype),
            effective_mask,
        )
Пример #4
0
    def _compute(self, arrays, dates, assets, mask):
        data = arrays[0]
        group_labels, null_label = self.inputs[1]._to_integral(arrays[1])
        effective_mask = (
            mask
            & (group_labels != null_label)
            & ~is_missing(data, self.inputs[0].missing_value)
        ).view(uint8)

        return grouped_masked_is_maximal(
            # Unconditionally view the data as int64.
            # This is safe because casting from float64 to int64 is an
            # order-preserving operation.
            data.view(int64_dtype),
            # PERF: Consider supporting different sizes of group labels.
            group_labels.astype(int64_dtype),
            effective_mask,
        )
Пример #5
0
 def _compute(self, arrays, dates, assets, mask):
     data = arrays[0]
     if isinstance(data, LabelArray):
         return ~data.is_missing()
     return ~is_missing(arrays[0], self.inputs[0].missing_value)
Пример #6
0
 def _compute(self, arrays, dates, assets, mask):
     data = arrays[0]
     if isinstance(data, LabelArray):
         return data.is_missing()
     return is_missing(arrays[0], self.inputs[0].missing_value)