@@ -183,6 +183,7 @@ def test_extract_datetime_features_with_default_options(
183
183
df_datetime_transformed [
184
184
vars_non_dt + [var + feat for var in vars_dt for feat in feat_names_default ]
185
185
],
186
+ check_dtype = False ,
186
187
)
187
188
188
189
@@ -198,6 +199,7 @@ def test_extract_datetime_features_from_specified_variables(
198
199
+ ["datetime_range" , "date_obj2" , "time_obj" ]
199
200
+ ["date_obj1" + feat for feat in feat_names_default ]
200
201
],
202
+ check_dtype = False ,
201
203
)
202
204
203
205
# multiple datetime variables
@@ -215,6 +217,7 @@ def test_extract_datetime_features_from_specified_variables(
215
217
for feat in feat_names_default
216
218
]
217
219
],
220
+ check_dtype = False ,
218
221
)
219
222
220
223
# multiple datetime variables in different order than they appear in the df
@@ -232,6 +235,7 @@ def test_extract_datetime_features_from_specified_variables(
232
235
for feat in feat_names_default
233
236
]
234
237
],
238
+ check_dtype = False ,
235
239
)
236
240
237
241
# datetime variable is index
@@ -251,12 +255,15 @@ def test_extract_datetime_features_from_specified_variables(
251
255
],
252
256
axis = 1 ,
253
257
),
258
+ check_dtype = False ,
254
259
)
255
260
256
261
257
262
def test_extract_all_datetime_features (df_datetime , df_datetime_transformed ):
258
263
X = DatetimeFeatures (features_to_extract = "all" ).fit_transform (df_datetime )
259
- pd .testing .assert_frame_equal (X , df_datetime_transformed .drop (vars_dt , axis = 1 ))
264
+ pd .testing .assert_frame_equal (
265
+ X , df_datetime_transformed .drop (vars_dt , axis = 1 ), check_dtype = False
266
+ )
260
267
261
268
262
269
def test_extract_specified_datetime_features (df_datetime , df_datetime_transformed ):
@@ -269,6 +276,7 @@ def test_extract_specified_datetime_features(df_datetime, df_datetime_transforme
269
276
vars_non_dt
270
277
+ [var + "_" + feat for var in vars_dt for feat in ["semester" , "week" ]]
271
278
],
279
+ check_dtype = False ,
272
280
)
273
281
274
282
# different order than they appear in the glossary
@@ -281,6 +289,7 @@ def test_extract_specified_datetime_features(df_datetime, df_datetime_transforme
281
289
vars_non_dt
282
290
+ [var + "_" + feat for var in vars_dt for feat in ["hour" , "day_of_week" ]]
283
291
],
292
+ check_dtype = False ,
284
293
)
285
294
286
295
@@ -290,7 +299,9 @@ def test_extract_features_from_categorical_variable(
290
299
cat_date = pd .DataFrame ({"date_obj1" : df_datetime ["date_obj1" ].astype ("category" )})
291
300
X = DatetimeFeatures (variables = "date_obj1" ).fit_transform (cat_date )
292
301
pd .testing .assert_frame_equal (
293
- X , df_datetime_transformed [["date_obj1" + feat for feat in feat_names_default ]]
302
+ X ,
303
+ df_datetime_transformed [["date_obj1" + feat for feat in feat_names_default ]],
304
+ check_dtype = False ,
294
305
)
295
306
296
307
@@ -311,6 +322,7 @@ def test_extract_features_from_different_timezones(
311
322
df_datetime_transformed [["time_obj_hour" ]].apply (
312
323
lambda x : x .subtract (time_zones )
313
324
),
325
+ check_dtype = False ,
314
326
)
315
327
exp_err_msg = (
316
328
"ValueError: variable(s) time_obj "
@@ -356,7 +368,7 @@ def test_extract_features_from_localized_tz_variables():
356
368
# transform
357
369
X = transformer .transform (tz_df )
358
370
df_expected = pd .DataFrame ({"date_var_hour" : [1 , 2 , 2 , 2 , 2 , 3 , 3 ]})
359
- pd .testing .assert_frame_equal (X , df_expected )
371
+ pd .testing .assert_frame_equal (X , df_expected , check_dtype = False )
360
372
361
373
# when utc is True
362
374
transformer = DatetimeFeatures (features_to_extract = ["hour" ], utc = True ).fit (tz_df )
@@ -372,7 +384,7 @@ def test_extract_features_from_localized_tz_variables():
372
384
# transform
373
385
X = transformer .transform (tz_df )
374
386
df_expected = pd .DataFrame ({"date_var_hour" : [5 , 6 , 6 , 6 , 6 , 7 , 7 ]})
375
- pd .testing .assert_frame_equal (X , df_expected )
387
+ pd .testing .assert_frame_equal (X , df_expected , check_dtype = False )
376
388
377
389
378
390
def test_extract_features_without_dropping_original_variables (
@@ -399,6 +411,7 @@ def test_extract_features_without_dropping_original_variables(
399
411
],
400
412
axis = 1 ,
401
413
),
414
+ check_dtype = False ,
402
415
)
403
416
404
417
@@ -435,6 +448,7 @@ def test_extract_features_with_different_datetime_parsing_options(df_datetime):
435
448
pd .testing .assert_frame_equal (
436
449
X ,
437
450
pd .DataFrame ({"date_obj2_day_of_month" : [10 , 31 , 30 , 17 ]}),
451
+ check_dtype = False ,
438
452
)
439
453
440
454
X = DatetimeFeatures (features_to_extract = ["year" ], yearfirst = True ).fit_transform (
@@ -443,6 +457,7 @@ def test_extract_features_with_different_datetime_parsing_options(df_datetime):
443
457
pd .testing .assert_frame_equal (
444
458
X ,
445
459
pd .DataFrame ({"date_obj2_year" : [2010 , 2009 , 1995 , 2004 ]}),
460
+ check_dtype = False ,
446
461
)
447
462
448
463
@@ -457,8 +472,7 @@ def test_get_feature_names_out(df_datetime, df_datetime_transformed):
457
472
transformer .get_feature_names_out (input_features = vars_dt )
458
473
459
474
with pytest .raises (ValueError ):
460
- transformer .get_feature_names_out (input_features = ["date_obj1" ])\
461
-
475
+ transformer .get_feature_names_out (input_features = ["date_obj1" ])
462
476
# default features from 1 variable
463
477
transformer = DatetimeFeatures (variables = "date_obj1" )
464
478
X = transformer .fit_transform (df_datetime )
0 commit comments