def _toDataColumn_object(self, data, mask): data, mask = self._checkNumpy(data, mask) if isinstance(data, NP.ndarray) and (mask is None or isinstance(mask, NP.ndarray)) and data.dtype == self.dtype: pass # proceed to return statement (after checking values and intervals) else: data, mask = self._checkNonNumpy(data, mask) data = NP.array(data, dtype=self.dtype) if mask is None: mask = NP("fromiter", (defs.MISSING if (isinstance(d, float) and math.isnan(d)) else defs.VALID for d in data), dtype=defs.maskType, count=len(data)) else: mask = NP("fromiter", (defs.MISSING if (m != 0 or (isinstance(data[i], float) and math.isnan(data[i]))) else defs.VALID for i, m in enumerate(mask)), dtype=defs.maskType, count=len(mask)) if not mask.any(): mask = None data, mask = self._checkValues(data, mask) data, mask = self._checkIntervals(data, mask) return DataColumn(self, data, mask)