| 184 | |
| 185 | class TestnanopsDataFrame: |
| 186 | def setup_method(self): |
| 187 | nanops._USE_BOTTLENECK = False |
| 188 | |
| 189 | arr_shape = (11, 7) |
| 190 | |
| 191 | self.arr_float = np.random.default_rng(2).standard_normal(arr_shape) |
| 192 | self.arr_float1 = np.random.default_rng(2).standard_normal(arr_shape) |
| 193 | self.arr_complex = self.arr_float + self.arr_float1 * 1j |
| 194 | self.arr_int = np.random.default_rng(2).integers(-10, 10, arr_shape) |
| 195 | self.arr_bool = np.random.default_rng(2).integers(0, 2, arr_shape) == 0 |
| 196 | self.arr_str = np.abs(self.arr_float).astype("S") |
| 197 | self.arr_utf = np.abs(self.arr_float).astype("U") |
| 198 | self.arr_date = ( |
| 199 | np.random.default_rng(2).integers(0, 20000, arr_shape).astype("M8[ns]") |
| 200 | ) |
| 201 | self.arr_tdelta = ( |
| 202 | np.random.default_rng(2).integers(0, 20000, arr_shape).astype("m8[ns]") |
| 203 | ) |
| 204 | |
| 205 | self.arr_nan = np.tile(np.nan, arr_shape) |
| 206 | self.arr_float_nan = np.vstack([self.arr_float, self.arr_nan]) |
| 207 | self.arr_float1_nan = np.vstack([self.arr_float1, self.arr_nan]) |
| 208 | self.arr_nan_float1 = np.vstack([self.arr_nan, self.arr_float1]) |
| 209 | self.arr_nan_nan = np.vstack([self.arr_nan, self.arr_nan]) |
| 210 | |
| 211 | self.arr_inf = self.arr_float * np.inf |
| 212 | self.arr_float_inf = np.vstack([self.arr_float, self.arr_inf]) |
| 213 | |
| 214 | self.arr_nan_inf = np.vstack([self.arr_nan, self.arr_inf]) |
| 215 | self.arr_float_nan_inf = np.vstack([self.arr_float, self.arr_nan, self.arr_inf]) |
| 216 | self.arr_nan_nan_inf = np.vstack([self.arr_nan, self.arr_nan, self.arr_inf]) |
| 217 | self.arr_obj = np.vstack( |
| 218 | [ |
| 219 | self.arr_float.astype("O"), |
| 220 | self.arr_int.astype("O"), |
| 221 | self.arr_bool.astype("O"), |
| 222 | self.arr_complex.astype("O"), |
| 223 | self.arr_str.astype("O"), |
| 224 | self.arr_utf.astype("O"), |
| 225 | self.arr_date.astype("O"), |
| 226 | self.arr_tdelta.astype("O"), |
| 227 | ] |
| 228 | ) |
| 229 | |
| 230 | with np.errstate(invalid="ignore"): |
| 231 | self.arr_nan_nanj = self.arr_nan + self.arr_nan * 1j |
| 232 | self.arr_complex_nan = np.vstack([self.arr_complex, self.arr_nan_nanj]) |
| 233 | |
| 234 | self.arr_nan_infj = self.arr_inf * 1j |
| 235 | self.arr_complex_nan_infj = np.vstack([self.arr_complex, self.arr_nan_infj]) |
| 236 | |
| 237 | self.arr_float_2d = self.arr_float |
| 238 | self.arr_float1_2d = self.arr_float1 |
| 239 | |
| 240 | self.arr_nan_2d = self.arr_nan |
| 241 | self.arr_float_nan_2d = self.arr_float_nan |
| 242 | self.arr_float1_nan_2d = self.arr_float1_nan |
| 243 | self.arr_nan_float1_2d = self.arr_nan_float1 |