@@ -57,7 +57,10 @@ def test_get_dummies_basic(self, sparse, dtype):
57
57
dtype = self .effective_dtype (dtype ),
58
58
)
59
59
if sparse :
60
- expected = expected .apply (SparseArray , fill_value = 0.0 )
60
+ if dtype .kind == "b" :
61
+ expected = expected .apply (SparseArray , fill_value = False )
62
+ else :
63
+ expected = expected .apply (SparseArray , fill_value = 0.0 )
61
64
result = get_dummies (s_list , sparse = sparse , dtype = dtype )
62
65
tm .assert_frame_equal (result , expected )
63
66
@@ -142,7 +145,10 @@ def test_get_dummies_include_na(self, sparse, dtype):
142
145
{"a" : [1 , 0 , 0 ], "b" : [0 , 1 , 0 ]}, dtype = self .effective_dtype (dtype )
143
146
)
144
147
if sparse :
145
- exp = exp .apply (SparseArray , fill_value = 0.0 )
148
+ if dtype .kind == "b" :
149
+ exp = exp .apply (SparseArray , fill_value = False )
150
+ else :
151
+ exp = exp .apply (SparseArray , fill_value = 0.0 )
146
152
tm .assert_frame_equal (res , exp )
147
153
148
154
# Sparse dataframes do not allow nan labelled columns, see #GH8822
@@ -155,7 +161,10 @@ def test_get_dummies_include_na(self, sparse, dtype):
155
161
# hack (NaN handling in assert_index_equal)
156
162
exp_na .columns = res_na .columns
157
163
if sparse :
158
- exp_na = exp_na .apply (SparseArray , fill_value = 0.0 )
164
+ if dtype .kind == "b" :
165
+ exp_na = exp_na .apply (SparseArray , fill_value = False )
166
+ else :
167
+ exp_na = exp_na .apply (SparseArray , fill_value = 0.0 )
159
168
tm .assert_frame_equal (res_na , exp_na )
160
169
161
170
res_just_na = get_dummies ([np .nan ], dummy_na = True , sparse = sparse , dtype = dtype )
@@ -174,7 +183,7 @@ def test_get_dummies_unicode(self, sparse):
174
183
{"letter_e" : [True , False , False ], f"letter_{ eacute } " : [False , True , True ]}
175
184
)
176
185
if sparse :
177
- exp = exp .apply (SparseArray , fill_value = 0 )
186
+ exp = exp .apply (SparseArray , fill_value = False )
178
187
tm .assert_frame_equal (res , exp )
179
188
180
189
def test_dataframe_dummies_all_obj (self , df , sparse ):
@@ -216,7 +225,10 @@ def test_dataframe_dummies_mix_default(self, df, sparse, dtype):
216
225
result = get_dummies (df , sparse = sparse , dtype = dtype )
217
226
if sparse :
218
227
arr = SparseArray
219
- typ = SparseDtype (dtype , 0 )
228
+ if dtype .kind == "b" :
229
+ typ = SparseDtype (dtype , False )
230
+ else :
231
+ typ = SparseDtype (dtype , 0 )
220
232
else :
221
233
arr = np .array
222
234
typ = dtype
@@ -296,7 +308,7 @@ def test_dataframe_dummies_subset(self, df, sparse):
296
308
expected [["C" ]] = df [["C" ]]
297
309
if sparse :
298
310
cols = ["from_A_a" , "from_A_b" ]
299
- expected [cols ] = expected [cols ].astype (SparseDtype ("bool" , 0 ))
311
+ expected [cols ] = expected [cols ].astype (SparseDtype ("bool" , False ))
300
312
tm .assert_frame_equal (result , expected )
301
313
302
314
def test_dataframe_dummies_prefix_sep (self , df , sparse ):
@@ -314,7 +326,7 @@ def test_dataframe_dummies_prefix_sep(self, df, sparse):
314
326
expected = expected [["C" , "A..a" , "A..b" , "B..b" , "B..c" ]]
315
327
if sparse :
316
328
cols = ["A..a" , "A..b" , "B..b" , "B..c" ]
317
- expected [cols ] = expected [cols ].astype (SparseDtype ("bool" , 0 ))
329
+ expected [cols ] = expected [cols ].astype (SparseDtype ("bool" , False ))
318
330
319
331
tm .assert_frame_equal (result , expected )
320
332
@@ -359,7 +371,7 @@ def test_dataframe_dummies_prefix_dict(self, sparse):
359
371
columns = ["from_A_a" , "from_A_b" , "from_B_b" , "from_B_c" ]
360
372
expected [columns ] = expected [columns ].astype (bool )
361
373
if sparse :
362
- expected [columns ] = expected [columns ].astype (SparseDtype ("bool" , 0 ))
374
+ expected [columns ] = expected [columns ].astype (SparseDtype ("bool" , False ))
363
375
364
376
tm .assert_frame_equal (result , expected )
365
377
@@ -371,7 +383,10 @@ def test_dataframe_dummies_with_na(self, df, sparse, dtype):
371
383
372
384
if sparse :
373
385
arr = SparseArray
374
- typ = SparseDtype (dtype , 0 )
386
+ if dtype .kind == "b" :
387
+ typ = SparseDtype (dtype , False )
388
+ else :
389
+ typ = SparseDtype (dtype , 0 )
375
390
else :
376
391
arr = np .array
377
392
typ = dtype
@@ -399,7 +414,10 @@ def test_dataframe_dummies_with_categorical(self, df, sparse, dtype):
399
414
result = get_dummies (df , sparse = sparse , dtype = dtype ).sort_index (axis = 1 )
400
415
if sparse :
401
416
arr = SparseArray
402
- typ = SparseDtype (dtype , 0 )
417
+ if dtype .kind == "b" :
418
+ typ = SparseDtype (dtype , False )
419
+ else :
420
+ typ = SparseDtype (dtype , 0 )
403
421
else :
404
422
arr = np .array
405
423
typ = dtype
@@ -456,7 +474,7 @@ def test_get_dummies_basic_drop_first(self, sparse):
456
474
457
475
result = get_dummies (s_list , drop_first = True , sparse = sparse )
458
476
if sparse :
459
- expected = expected .apply (SparseArray , fill_value = 0 )
477
+ expected = expected .apply (SparseArray , fill_value = False )
460
478
tm .assert_frame_equal (result , expected )
461
479
462
480
result = get_dummies (s_series , drop_first = True , sparse = sparse )
@@ -490,7 +508,7 @@ def test_get_dummies_basic_drop_first_NA(self, sparse):
490
508
res = get_dummies (s_NA , drop_first = True , sparse = sparse )
491
509
exp = DataFrame ({"b" : [0 , 1 , 0 ]}, dtype = bool )
492
510
if sparse :
493
- exp = exp .apply (SparseArray , fill_value = 0 )
511
+ exp = exp .apply (SparseArray , fill_value = False )
494
512
495
513
tm .assert_frame_equal (res , exp )
496
514
@@ -499,7 +517,7 @@ def test_get_dummies_basic_drop_first_NA(self, sparse):
499
517
["b" , np .nan ], axis = 1
500
518
)
501
519
if sparse :
502
- exp_na = exp_na .apply (SparseArray , fill_value = 0 )
520
+ exp_na = exp_na .apply (SparseArray , fill_value = False )
503
521
tm .assert_frame_equal (res_na , exp_na )
504
522
505
523
res_just_na = get_dummies (
@@ -513,7 +531,7 @@ def test_dataframe_dummies_drop_first(self, df, sparse):
513
531
result = get_dummies (df , drop_first = True , sparse = sparse )
514
532
expected = DataFrame ({"A_b" : [0 , 1 , 0 ], "B_c" : [0 , 0 , 1 ]}, dtype = bool )
515
533
if sparse :
516
- expected = expected .apply (SparseArray , fill_value = 0 )
534
+ expected = expected .apply (SparseArray , fill_value = False )
517
535
tm .assert_frame_equal (result , expected )
518
536
519
537
def test_dataframe_dummies_drop_first_with_categorical (self , df , sparse , dtype ):
@@ -632,7 +650,7 @@ def test_get_dummies_duplicate_columns(self, df):
632
650
def test_get_dummies_all_sparse (self ):
633
651
df = DataFrame ({"A" : [1 , 2 ]})
634
652
result = get_dummies (df , columns = ["A" ], sparse = True )
635
- dtype = SparseDtype ("bool" , 0 )
653
+ dtype = SparseDtype ("bool" , False )
636
654
expected = DataFrame (
637
655
{
638
656
"A_1" : SparseArray ([1 , 0 ], dtype = dtype ),
0 commit comments