@@ -498,122 +498,71 @@ def test_floating_index_doc_example(self):
498498 assert s .loc [3 ] == 2
499499 assert s .iloc [3 ] == 3
500500
501- def test_floating_misc (self ):
501+ def test_floating_misc (self , indexer_sl ):
502502
503503 # related 236
504504 # scalar/slicing of a float index
505505 s = Series (np .arange (5 ), index = np .arange (5 ) * 2.5 , dtype = np .int64 )
506506
507507 # label based slicing
508- result1 = s [1.0 :3.0 ]
509- result2 = s .loc [1.0 :3.0 ]
510- result3 = s .loc [1.0 :3.0 ]
511- tm .assert_series_equal (result1 , result2 )
512- tm .assert_series_equal (result1 , result3 )
508+ result = indexer_sl (s )[1.0 :3.0 ]
509+ expected = Series (1 , index = [2.5 ])
510+ tm .assert_series_equal (result , expected )
513511
514512 # exact indexing when found
515- result1 = s [5.0 ]
516- result2 = s .loc [5.0 ]
517- result3 = s .loc [5.0 ]
518- assert result1 == result2
519- assert result1 == result3
520513
521- result1 = s [5 ]
522- result2 = s .loc [5 ]
523- result3 = s .loc [5 ]
524- assert result1 == result2
525- assert result1 == result3
514+ result = indexer_sl (s )[5.0 ]
515+ assert result == 2
526516
527- assert s [5.0 ] == s [5 ]
517+ result = indexer_sl (s )[5 ]
518+ assert result == 2
528519
529520 # value not found (and no fallbacking at all)
530521
531522 # scalar integers
532523 with pytest .raises (KeyError , match = r"^4$" ):
533- s .loc [4 ]
534- with pytest .raises (KeyError , match = r"^4$" ):
535- s .loc [4 ]
536- with pytest .raises (KeyError , match = r"^4$" ):
537- s [4 ]
524+ indexer_sl (s )[4 ]
538525
539526 # fancy floats/integers create the correct entry (as nan)
540527 # fancy tests
541528 expected = Series ([2 , 0 ], index = Float64Index ([5.0 , 0.0 ]))
542529 for fancy_idx in [[5.0 , 0.0 ], np .array ([5.0 , 0.0 ])]: # float
543- tm .assert_series_equal (s [fancy_idx ], expected )
544- tm .assert_series_equal (s .loc [fancy_idx ], expected )
545- tm .assert_series_equal (s .loc [fancy_idx ], expected )
530+ tm .assert_series_equal (indexer_sl (s )[fancy_idx ], expected )
546531
547532 expected = Series ([2 , 0 ], index = Index ([5 , 0 ], dtype = "int64" ))
548533 for fancy_idx in [[5 , 0 ], np .array ([5 , 0 ])]: # int
549- tm .assert_series_equal (s [fancy_idx ], expected )
550- tm .assert_series_equal (s .loc [fancy_idx ], expected )
551- tm .assert_series_equal (s .loc [fancy_idx ], expected )
534+ tm .assert_series_equal (indexer_sl (s )[fancy_idx ], expected )
552535
553536 # all should return the same as we are slicing 'the same'
554- result1 = s .loc [2 :5 ]
555- result2 = s .loc [2.0 :5.0 ]
556- result3 = s .loc [2.0 :5 ]
557- result4 = s .loc [2.1 :5 ]
558- tm .assert_series_equal (result1 , result2 )
559- tm .assert_series_equal (result1 , result3 )
560- tm .assert_series_equal (result1 , result4 )
561-
562- # previously this did fallback indexing
563- result1 = s [2 :5 ]
564- result2 = s [2.0 :5.0 ]
565- result3 = s [2.0 :5 ]
566- result4 = s [2.1 :5 ]
537+ result1 = indexer_sl (s )[2 :5 ]
538+ result2 = indexer_sl (s )[2.0 :5.0 ]
539+ result3 = indexer_sl (s )[2.0 :5 ]
540+ result4 = indexer_sl (s )[2.1 :5 ]
567541 tm .assert_series_equal (result1 , result2 )
568542 tm .assert_series_equal (result1 , result3 )
569543 tm .assert_series_equal (result1 , result4 )
570544
571- result1 = s .loc [2 :5 ]
572- result2 = s .loc [2.0 :5.0 ]
573- result3 = s .loc [2.0 :5 ]
574- result4 = s .loc [2.1 :5 ]
575- tm .assert_series_equal (result1 , result2 )
576- tm .assert_series_equal (result1 , result3 )
577- tm .assert_series_equal (result1 , result4 )
545+ expected = Series ([1 , 2 ], index = [2.5 , 5.0 ])
546+ result = indexer_sl (s )[2 :5 ]
578547
579- # combined test
580- result1 = s .loc [2 :5 ]
581- result2 = s .loc [2 :5 ]
582- result3 = s [2 :5 ]
583-
584- tm .assert_series_equal (result1 , result2 )
585- tm .assert_series_equal (result1 , result3 )
548+ tm .assert_series_equal (result , expected )
586549
587550 # list selection
588- result1 = s [[0.0 , 5 , 10 ]]
589- result2 = s .loc [[0.0 , 5 , 10 ]]
590- result3 = s .loc [[0.0 , 5 , 10 ]]
591- result4 = s .iloc [[0 , 2 , 4 ]]
551+ result1 = indexer_sl (s )[[0.0 , 5 , 10 ]]
552+ result2 = s .iloc [[0 , 2 , 4 ]]
592553 tm .assert_series_equal (result1 , result2 )
593- tm .assert_series_equal (result1 , result3 )
594- tm .assert_series_equal (result1 , result4 )
595554
596555 with pytest .raises (KeyError , match = "with any missing labels" ):
597- s [[1.6 , 5 , 10 ]]
598- with pytest .raises (KeyError , match = "with any missing labels" ):
599- s .loc [[1.6 , 5 , 10 ]]
556+ indexer_sl (s )[[1.6 , 5 , 10 ]]
600557
601558 with pytest .raises (KeyError , match = "with any missing labels" ):
602- s [[0 , 1 , 2 ]]
603- with pytest .raises (KeyError , match = "with any missing labels" ):
604- s .loc [[0 , 1 , 2 ]]
559+ indexer_sl (s )[[0 , 1 , 2 ]]
605560
606- result1 = s .loc [[2.5 , 5 ]]
607- result2 = s .loc [[2.5 , 5 ]]
608- tm .assert_series_equal (result1 , result2 )
609- tm .assert_series_equal (result1 , Series ([1 , 2 ], index = [2.5 , 5.0 ]))
561+ result = indexer_sl (s )[[2.5 , 5 ]]
562+ tm .assert_series_equal (result , Series ([1 , 2 ], index = [2.5 , 5.0 ]))
610563
611- result1 = s [[2.5 ]]
612- result2 = s .loc [[2.5 ]]
613- result3 = s .loc [[2.5 ]]
614- tm .assert_series_equal (result1 , result2 )
615- tm .assert_series_equal (result1 , result3 )
616- tm .assert_series_equal (result1 , Series ([1 ], index = [2.5 ]))
564+ result = indexer_sl (s )[[2.5 ]]
565+ tm .assert_series_equal (result , Series ([1 ], index = [2.5 ]))
617566
618567 def test_floating_tuples (self ):
619568 # see gh-13509
0 commit comments