@@ -177,6 +177,33 @@ def test_HaveNaNInTrain_ExpectCodedAsOne(self):
177
177
178
178
self .assertEqual (expected , result )
179
179
180
+ def test_Timestamp (self ):
181
+ df = pd .DataFrame (
182
+ {
183
+ "timestamps" : {
184
+ 0 : pd .Timestamp ("1997-09-03 00:00:00" ),
185
+ 1 : pd .Timestamp ("1997-09-03 00:00:00" ),
186
+ 2 : pd .Timestamp ("2000-09-03 00:00:00" ),
187
+ 3 : pd .Timestamp ("1997-09-03 00:00:00" ),
188
+ 4 : pd .Timestamp ("1999-09-04 00:00:00" ),
189
+ 5 : pd .Timestamp ("2001-09-03 00:00:00" ),
190
+ },
191
+ }
192
+ )
193
+ enc = encoders .OrdinalEncoder (cols = ["timestamps" ])
194
+ encoded_df = enc .fit_transform (df )
195
+ expected_index = [pd .Timestamp ("1997-09-03 00:00:00" ),
196
+ pd .Timestamp ("2000-09-03 00:00:00" ),
197
+ pd .Timestamp ("1999-09-04 00:00:00" ),
198
+ pd .Timestamp ("2001-09-03 00:00:00" ),
199
+ pd .NaT
200
+ ]
201
+ expected_mapping = pd .Series ([1 , 2 , 3 , 4 , - 2 ], index = expected_index )
202
+ expected_values = [1 , 1 , 2 , 1 , 3 , 4 ]
203
+
204
+ pd .testing .assert_series_equal (expected_mapping , enc .mapping [0 ]["mapping" ])
205
+ self .assertListEqual (expected_values , encoded_df ["timestamps" ].tolist ())
206
+
180
207
def test_NoGaps (self ):
181
208
train = pd .DataFrame ({"city" : ["New York" , np .nan , "Rio" , None , "Rosenheim" ]})
182
209
expected_mapping_value = pd .Series ([1 , 2 , 3 , 4 ], index = ["New York" , "Rio" , "Rosenheim" , np .nan ])
0 commit comments