@@ -424,38 +424,38 @@ def test_reindex_nearest(self):
424
424
expected = pd .Series ([0 , np .nan , np .nan , 2 ], target ).to_sparse ()
425
425
tm .assert_sp_series_equal (expected , actual )
426
426
427
- def tests_indexing_with_sparse ( self ):
428
- # GH 13985
429
-
430
- for kind in [ 'integer' , 'block' ]:
431
- for fill in [ True , False , np . nan ]:
432
- arr = pd .SparseArray ([1 , 2 , 3 ], kind = kind )
433
- indexer = pd . SparseArray ([ True , False , True ], fill_value = fill ,
434
- dtype = bool )
435
-
436
- tm .assert_sp_array_equal (pd .SparseArray ([1 , 3 ], kind = kind ),
437
- arr [indexer ],)
438
-
439
- s = pd .SparseSeries (arr , index = ['a' , 'b' , 'c' ],
440
- dtype = np .float64 )
441
-
442
- exp = pd .SparseSeries (
443
- [1 , 3 ], index = ['a' , 'c' ],
444
- dtype = SparseDtype (np .float64 , s .fill_value ),
445
- kind = kind
446
- )
447
- tm .assert_sp_series_equal (s [indexer ], exp )
448
- tm .assert_sp_series_equal (s .loc [indexer ], exp )
449
- tm .assert_sp_series_equal (s .iloc [indexer ], exp )
450
-
451
- indexer = pd .SparseSeries (indexer , index = ['a' , 'b' , 'c' ])
452
- tm .assert_sp_series_equal (s [indexer ], exp )
453
- tm .assert_sp_series_equal (s .loc [indexer ], exp )
454
-
455
- msg = ("iLocation based boolean indexing cannot use an "
456
- " indexable as a mask" )
457
- with tm .assert_raises_regex (ValueError , msg ):
458
- s .iloc [indexer ]
427
+ @ pytest . mark . parametrize ( "kind" , [ "integer" , "block" ])
428
+ @ pytest . mark . parametrize ( "fill" , [ True , False , np . nan ])
429
+ def tests_indexing_with_sparse ( self , kind , fill ):
430
+ # see gh-13985
431
+ arr = pd . SparseArray ([ 1 , 2 , 3 ], kind = kind )
432
+ indexer = pd .SparseArray ([True , False , True ],
433
+ fill_value = fill ,
434
+ dtype = bool )
435
+
436
+ tm .assert_sp_array_equal (pd .SparseArray ([1 , 3 ], kind = kind ),
437
+ arr [indexer ],)
438
+
439
+ s = pd .SparseSeries (arr , index = ['a' , 'b' , 'c' ],
440
+ dtype = np .float64 )
441
+
442
+ exp = pd .SparseSeries (
443
+ [1 , 3 ], index = ['a' , 'c' ],
444
+ dtype = SparseDtype (np .float64 , s .fill_value ),
445
+ kind = kind
446
+ )
447
+ tm .assert_sp_series_equal (s [indexer ], exp )
448
+ tm .assert_sp_series_equal (s .loc [indexer ], exp )
449
+ tm .assert_sp_series_equal (s .iloc [indexer ], exp )
450
+
451
+ indexer = pd .SparseSeries (indexer , index = ['a' , 'b' , 'c' ])
452
+ tm .assert_sp_series_equal (s [indexer ], exp )
453
+ tm .assert_sp_series_equal (s .loc [indexer ], exp )
454
+
455
+ msg = ("iLocation based boolean indexing cannot "
456
+ "use an indexable as a mask" )
457
+ with tm .assert_raises_regex (ValueError , msg ):
458
+ s .iloc [indexer ]
459
459
460
460
461
461
class TestSparseSeriesMultiIndexing (TestSparseSeriesIndexing ):
0 commit comments