@@ -9,3 +9,59 @@ def test_show_version():
9
9
with pytest .warns (UserWarning , match = "Setuptools is replacing distutils" ):
10
10
check (assert_type (pd .show_versions (True ), None ), type (None ))
11
11
check (assert_type (pd .show_versions (False ), None ), type (None ))
12
+
13
+
14
+ def test_dummies ():
15
+ df = pd .DataFrame (
16
+ pd .Series (["a" , "b" , "a" , "b" , "c" , "a" , "a" ], dtype = "category" ), columns = ["A" ]
17
+ )
18
+ dummies = pd .get_dummies (df )
19
+ check (assert_type (dummies , pd .DataFrame ), pd .DataFrame )
20
+ check (assert_type (pd .from_dummies (dummies ), pd .DataFrame ), pd .DataFrame )
21
+
22
+
23
+ def test_get_dummies_args ():
24
+ df = pd .DataFrame (
25
+ {
26
+ "A" : pd .Series (["a" , "b" , "a" , "b" , "c" , "a" , "a" ], dtype = "category" ),
27
+ "B" : pd .Series ([1 , 2 , 1 , 2 , 3 , 1 , 1 ]),
28
+ }
29
+ )
30
+ check (
31
+ assert_type (
32
+ pd .get_dummies (df , prefix = "foo" , prefix_sep = "-" , sparse = True ), pd .DataFrame
33
+ ),
34
+ pd .DataFrame ,
35
+ )
36
+ check (
37
+ assert_type (
38
+ pd .get_dummies (
39
+ df , prefix = ["foo" ], dummy_na = True , drop_first = True , dtype = "bool"
40
+ ),
41
+ pd .DataFrame ,
42
+ ),
43
+ pd .DataFrame ,
44
+ )
45
+ check (
46
+ assert_type (
47
+ pd .get_dummies (df , prefix = {"A" : "foo" , "B" : "baz" }, columns = ["A" , "B" ]),
48
+ pd .DataFrame ,
49
+ ),
50
+ pd .DataFrame ,
51
+ )
52
+
53
+
54
+ def test_from_dummies_args ():
55
+ df = pd .DataFrame (
56
+ {
57
+ "A" : pd .Series (["a" , "b" , "a" , "b" , "c" , "a" , "a" ], dtype = "category" ),
58
+ }
59
+ )
60
+ dummies = pd .get_dummies (df , drop_first = True , sparse = True )
61
+ check (
62
+ assert_type (
63
+ pd .from_dummies (dummies , sep = "_" , default_category = "a" ),
64
+ pd .DataFrame ,
65
+ ),
66
+ pd .DataFrame ,
67
+ )
0 commit comments