Skip to content

Commit 56d0133

Browse files
author
Will McGinnis
committed
fixes #56
1 parent bdf8ea1 commit 56d0133

File tree

3 files changed

+31
-2
lines changed

3 files changed

+31
-2
lines changed

category_encoders/ordinal.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -267,7 +267,7 @@ def ordinal_encoding(X_in, mapping=None, cols=None, impute_missing=True, handle_
267267
else:
268268
mapping_out = []
269269
for col in cols:
270-
categories = pd.unique(X[col].values)
270+
categories = [x for x in pd.unique(X[col].values) if x is not None]
271271

272272
X[str(col) + '_tmp'] = np.nan
273273
for idx, val in enumerate(categories):

category_encoders/tests/test_encoders.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -483,7 +483,7 @@ def test_onehot(self):
483483

484484
enc = encoders.OneHotEncoder(verbose=1, return_df=False)
485485
enc.fit(X, None)
486-
self.assertTrue(enc.transform(X_t[X_t['D'] != 'A']).shape[1] == 19)
486+
self.assertTrue(enc.transform(X_t[X_t['D'] != 'A']).shape[1] == 18)
487487

488488
enc = encoders.OneHotEncoder(verbose=1, return_df=True, impute_missing=True, handle_unknown='impute')
489489
enc.fit(X, None)
Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
import unittest
2+
import pandas as pd
3+
import category_encoders as ce
4+
import numpy as np
5+
6+
__author__ = 'willmcginnis'
7+
8+
9+
class TestDist(unittest.TestCase):
10+
"""
11+
"""
12+
13+
def test_dist(self):
14+
data = np.array([
15+
['apple', None],
16+
['peach', 'lemon']
17+
])
18+
encoder = ce.OrdinalEncoder(impute_missing=True)
19+
encoder.fit(data)
20+
a = encoder.transform(data)
21+
print(a)
22+
self.assertEqual(a.values[0, 1], -1)
23+
self.assertEqual(a.values[1, 1], 0)
24+
25+
encoder = ce.OrdinalEncoder(impute_missing=False)
26+
encoder.fit(data)
27+
a = encoder.transform(data)
28+
self.assertTrue(np.isnan(a.values[0, 1]))
29+
self.assertEqual(a.values[1, 1], 0)

0 commit comments

Comments
 (0)